00091_字符输入流Reader

Posted Lamfai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了00091_字符输入流Reader相关的知识,希望对你有一定的参考价值。

1、字符输入流Reader

  (1)字符输入流Reader我们读取拥有中文的文件时,使用的字节流在读取,那么我们读取到的都是一个一个字节;

  (2)只要把这些字节去查阅对应的编码表,就能够得到与之对应的字符;

  (3)API中给我们已经提供了读取相应字符的功能流对象,Reader,读取字符流的抽象超类;

  (4)read():读取单个字符并返回;

  (5)read(char[]):将数据读取到数组中,并返回读取的个数。

2、FileReader类

  (1)查阅FileInputStream的API,发现FileInputStream 用于读取诸如图像数据之类的原始字节流;

  (2)要读取字符流,请考虑使用 FileReader;

  (3)打开FileReader的API介绍,用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。

 1 import java.io.FileOutputStream;
 2 import java.io.FileReader;
 3 import java.io.IOException;
 4 
 5 public class CharStreamDemo {
 6     public static void main(String[] args) throws IOException {
 7         // 给文件中写中文
 8         writeCNText();
 9         // 读取文件中的中文
10         readCNText();
11     }
12 
13     // 读取中文
14     public static void readCNText() throws IOException {
15         FileReader fr = new FileReader("D:\\Java\\cn.txt");
16         int ch = 0;
17         while ((ch = fr.read()) != -1) {
18             // 输出的字符对应的编码值
19             System.out.println(ch);
20             // 输出字符本身
21             System.out.println((char) ch);
22         }
23     }
24 
25     // 写中文
26     public static void writeCNText() throws IOException {
27         FileOutputStream fos = new FileOutputStream("D:\\Java\\cn.txt");
28         fos.write("I Love Java,我爱你!".getBytes());
29         fos.close();
30     }
31 }

 

以上是关于00091_字符输入流Reader的主要内容,如果未能解决你的问题,请参考以下文章

Java IO流--Reader流(字符输入流) & Writer流(字符输出流)

常用输入字符流Reader

Java_流

Java_流

我的学习之路_第十一章_字符流

Reader字符输入流和InputStreamReader和FileReader