Java_IO_字节流_Reader_and_Writer

来源:互联网 发布:网络通信 语法 编辑:程序博客网 时间:2024/04/28 02:40

前面学习了字节流,现在来学习一下字符流,字符流,看名字就知道是什么意思了,是用来读写字符的流。

先来看一下:FileReader 和 FileWriter

直接上代码

FileReader :


FileWriter:



FileReader 和 FileWriter主要是对文本文件进行操作,字符流操作文件好处是:可以自动的转码,读取中文的时候不会乱码。


下面来看一下BufferedReader  和 BufferedWriter

先看一下BufferedReader  的基本用法



再来看一下 BufferedWriter 的基本用法



其实 FileReader 和 FileWriter、 BufferedWriter  和  BufferedReader 相比,也即是多了个自身维护的缓冲数组,没什么多大的区别

BufferedReader 有一个方法,是很常用的,那就是readLine();  顾名思义,一次读取一行。

BufferedWriter   也有一个对应的方法,但不是writeLine();  不要说出去有这个方法,会丢人的,与之相对应的就是 newLine();  新建一行空行。


记住,reader和writer都是操作文本文件的,不能对二进制的文件进行操作,否则会出错,下面演示一个错误的案例,错误的案例,错误的案例:


上面的是代码,下面的是结果,结果目标文件路径中确实有相对应的image2文件,外面看,大小还是一样的,但你点详细信息的时候你会发现,复制过来的这个文件的大小会比原来的要小一点,然后你可以试图的去打开复制后的这个image2 你会发现,根本打不开,这就对了,这就是用字符流去操作二进制文件的后果,所以一定要记住,字符流只能操作文本文件,字符流出现的原因无非就是使我们操作文本文件的时候更加便捷,少了转码的那一步骤。


对IO方面还有什么不明白的请移步到Java_IO

最后附上IO篇的目录

java_IO 总览

FileInputStream和FileOutputStream的简单使用

Java_IO_BufferedIntputStream_And_BufferedOutputStream

Java_IO_ObjectInputStream_And_ObjectOutputStream

Java_IO_字节流_Reader_and_Writer

Java_IO_SequenceInputStream文件的合并


0 0