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

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

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

Java初学笔记27
  • 十四、转换流:InputStreamReader 和 OutputStreamWriter
    • 3. InputStreamReader
    • 4. OutputStreamWriter
  • 十五、打印流:PrintStream 和 PrintWrite
    • 2. PrintStream类
    • 3. PrintWrite类
  • 十六、Properties 配置文件类
    • 1. 需求引入
    • 2. 介绍
    • 3. Properties的常见方法
        • 【1】load
        • 【2】list
        • 【3】getProperty(key)
        • 【4】setProperty(key,value)
        • 【5】store
    • 4. 使用流程示例
    • 5. 代码示例

十四、转换流: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

【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文件

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5080854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存