IO(缓冲流、转换流、序列化、打印流)

使用字节缓冲流读取数据到程序

       BufferedInputStream in = new BufferedInputStream(new FileInputStream("abc.txt"));

       使用起来和一般的字节输入流基本没有差别。

 

使用字节缓冲流写出数据到文件

       BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("xxx.txt"));

       使用起来和一般的字节输出流也没有什么差别。

 

明确字符缓冲流的作用和基本用法

       缓冲字符输入流:BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));

       缓冲字符输出流:BufferedWriter bw = new BufferedWriter(new FileWriter("yyy.txt"));

       这两个缓冲的流,和普通的FileWriter/FileReader是所有基本一样。

 

使用缓冲流的特殊功能

       BufferedWriter有一个换行的方法:newLine()

       BufferedReader有一个读取一行的方法:readLine()

       代码:

       String line;

       while ((line = br.readLine()) != null) {

              // …

       }

 

阐述编码表的意义

       字符集:数字和文字之间的对照关系表。例如ASCII、Unicode。

     编码:几个字节以什么样的方式组织起来表示一个字符集当中的数字,这种规则叫做编码。

       Unicode是字符集,对应的编码是UTF-8,或者其他。

 

使用转换流读取指定编码的文本文件

       InputStreamReader reader = new InputStreamReader(new FileInputStream("xxx.txt"), "GBK");

       后面的使用和字符流没有区别。

 

使用转换流写入指定编码的文本文件

       OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("xxx.txt"), "UTF-8");

       后面的使用和字符流没有区别。

 

打印流的特点

       特点:使用方便。

       构造方法:

              public PrintStream(String filename):参数代表文件路径名。

       常用方法:

              public void println(任意数据):换行

              public void print(任意数据):不换行

       改变导向:

              System.setOut(PrintStream out):将默认的控制台打印输出,换成指定的流向。

 

使用序列化流写出对象到文件

       ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("xxx"));

       out.writeObject(obj);

 

使用反序列化流读取文件到程序中

       ObjectInputStream in = new ObjectInputStream(new FileInputStream("xxx"));

       Object obj = in.readObject();

发表评论