java基础整理のIO流

来源:互联网 发布:unity3d 支持的模型 编辑:程序博客网 时间:2024/06/08 02:14

字节流

 
 输入字节流:
          InputStream 抽象类   所有输入字节流的基类。
                    FileInputStream 读取文件数据的输入字节流。
                    BufferedInputStream  缓冲输入字节流。 该类的本质实际上就是在内部维护了一个8kb的字节数组而已。   

输出字节流:
            OutputStream  抽象类,  所有输出字节流的基类。
                     FileOutputStream  向文件写出数据的输出字节流.
                     BufferedOutputStream  缓冲输出字节流 , 该类出现的目的是为了提高写数据的效率。该类也是在内部维护了一个8kb的字节数组而已。

字符流 = 字节流+ 编码(解码)

输入字符流
              Reader  抽象类   所有输入字符流的基类。
                   FileReader 读取文件字符数据的输入字符流.
                   BUfferedReader   缓冲输入字符流          该类内部也是维护了一个1024个长度的字符数组, 而且还拓展了功能---->readLine.


输出字符流
              Writer  抽象类       所有输出字符流的基类。
                    FileWriter 向文件写出数据的输出字符流。
                    BuffereWriter  缓冲输出字符流,        该类内部也是维护了一个1024个长度的字符数组,而且还拓展了功能-----> newLine();

转换流:

              输入转换流格式:InputStreamReader  isr =      new InputStreamReader(InputStream);

             输出转换流格式::OutputStreamWriter  osr =       new OutputStreamWriter(OutputStream);



另外,值得一提的是在IO流有个properties知识点

Properties的作用:

1.     生成配置文件

2.     读取配置文件

用store()方法生成配置文件(xx.properties)

用load()方法加载配置文件(xx.properties)

注意:

1.往properties添加数据时,不能添加非字符串的数据,如果添加了,properties会进行强制类型转换,然后就强制类型转换报错

2.如果properties的数据中出现了中文,那么在使用store方法时,不能使用字节流(默认使用ISO8859-1码表保存),如果出现了中文,一定使用字符流。

3.如果修改了properties中的数据,一定要重新生成配置文件



0 0