对与I/O流提供的FileInputStream读取文本的数据,而其是采用字节的形式进行读取输出到工作平台,这样会导致读取的不方便,并不能以字符的形式表示。




java mongdb Document 获取字段_c++同时读取文本


因此,java提供了另外一种读取的形式---字符流。该种方式能够更好的将我们的文本以字符串的形式展示,方便自己读取。

点击下方链接,免费获取java编程资料!

同字节流一样,字符流也有两个抽象的顶级父类,分别是Reader和Writer。其中,Reader是字符输入流,用于从某个设备源中读取字符。Writer是字符输出流,用于向某个设备写入字符。Reader与Writer都是字符流顶级的父类,它下面有许多子类都是在其父类的基础上继承如:BufferedReaderCharArrayReaderInputStreanReaderPipedReader等。

在程序的开发过程之中,经常会遇到对文本的内容进行读取,这里采用FileReader进行对文本读取一个或者一组数组。

接下来,通过实际案例来分析讲解。

首先,你需要在自己的目录下建立一个文本,可以是txtdocx,但是需要注意,如果你读取docx工作台会显示一堆乱码的数据,但是读取txt文本时不会出现这个问题。在目录的选择上,可以自己随意建立在方便自己找到文本的地方,把相应的路径输入进去就可以了。

案例程序代码如下:

/*********************************************

项目:字符流读取文件中的字符串

方法:FileReader/reader

时间:2021.1.25

********************************************/

public class ReaderTemp {
 public static void main(String[] args) throws Exception {
 //创建FileReader对象,指定要读取的文件
 FileReader fileReader=new FileReader("C:UsersasusDesktop新建文本文档.txt");
 //定义一个int类型的变量length,并令其等于零
 int length=0;
 //通过循环来判断是否读取到文件的末尾
 while((length=fileReader.read())!=-1) {
 //输出读取到的字符
 System.out.print((char)length);
 }
 //关闭流
 fileReader.close();
 }
}

输出结果:

今天我去加分加分分节符你的

飞机欧赔积分

oprwjgpw和公婆积分

该片根据吗

上述结果实现了读取文件的功能问题,首先创建一个FileReader对象来读取指定文件文本的内容,然后通过whie循环每次从文件中读取一个字符并打印,这样就实现了文件文本的字符读取。

由于字符输入流的read()方法返回是 int类型的值,如果想要获得字符内容需要进行强制转换,所以输出语句中将变量length强制转化为char类型。