Java

    xiaoxiao2025-06-18  5

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

    先来看一下:FileReader 和 FileWriter

    直接上代码

    FileReader :

    FileWriter:

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

    PS:FileWriter写换行符应该是、\r\n

    下面来看一下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文件的合并

    转载请注明原文地址: https://ju.6miu.com/read-1300088.html
    最新回复(0)