Java初学笔记27-【InputStreamReader 和 OutputStreamWriter、PrintStream 和 PrintWrite、Properties】


在这里插入图片描述

十四、转换流:InputStreamReader 和 OutputStreamWriter

  1. 默认读取文件时,编码方式为UTF-8。于是对于读取起他的编码文件,就会出现乱码。
  2. 因为字节流可以指定编码方式,如果可以在指定编码方式后,再将字节流读取变成字符流,然后再进行读取,那么就不会出现乱码问题。于是转换流孕育而生。
    【InputStreamReader】

3. InputStreamReader

Reader的子类,可以将InputStream(字节流)包装成(转换)Reader(字符流)
在这里插入图片描述

4. OutputStreamWriter

Writer的子类,实现将OutputStream(字节流)包装成Writer(字符流)
在这里插入图片描述

  1. 当处理纯文本数据时,如果使用字符流效率更高,并且可以有效解决中文问题,所以建议将字节流转换成字符流
  2. 可以在使用时指定编码格式(比如utf-8, gbk ,gb2312, ISO8859-1等)

十五、打印流:PrintStream 和 PrintWrite

  1. 打印流只有输出流,没有输入流

2. PrintStream类

(1)字节流
(2)最高父类为OutPutStream,直接父类为FileOutPutStream
(3)默认输出数据的位置为标准输出,即显示器
(4)使用方法setOut,可以修改打印位置
System.setOut(new PrintStream(“e:\f1.txt”));
在这里插入图片描述

3. PrintWrite类

(1)字符流
(2)直接父类为Writer
(3)举例输出到显示器
PrintWriter printWriter = new PrintWriter(System.out);
printWriter. print(“hi,北京你好~”);
printWriter.close();
(4)举例输出到文件
PrintWriter printWriter = new PrintWriter(new FileWriter(“e:\f2.txt”);
printWriter. print(“hi,北京你好~”);
printWriter.close();
在这里插入图片描述

十六、Properties 配置文件类

1. 需求引入

在这里插入图片描述

2. 介绍

(1)专门用于读写配置文件的集合类配置文件的格式:
键=值
键=值

(2)注意:键值对不需要有空格,值不需要用引号一起来。默认类型是String

3. Properties的常见方法

【1】load

加载配置文件的键值对到Properties对象。load的形参为Reader或者Input Stream
在这里插入图片描述

【2】list

将数据显示到指定设备

【3】getProperty(key)

根据键获取值

【4】setProperty(key,value)

设置键值对到Properties对象。可以作为添加使用。也可以作为修改使用。

【5】store

(1)形参中可以是Writer,或者OutPutSteam。
(2)将Properties中的键值对存储到配置文件,若文件存在,即覆盖。在idea中,保存信息到配置文件,如果含有中文,会存储为unicode码。
(3)store(OutputStream out, String comments) 参数里面的comments表示注释,可以不写。
(4)如果是字符流输出则为中文;如果是字节流输出则为中文的 unicode 码值。
unicode码查询工具

4. 使用流程示例

(1)创建 Properties对象

Properties properties = new Properties()

(2)加载指定配置文件到程序

properties.load(new FileReader("src\\mysql.properties"));

5. 代码示例

(1)读取Properties文件
在这里插入图片描述
在这里插入图片描述

(2)写入Properties文件
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃凉拌辣芒果

不断学习,不断进步,共勉~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值