Java IO流 (2)字符流

使用字节流的问题:

由于一个中文字符在UTF-8编码中占用三个字节,在GBK编码中占用两个字节,按照字节进行读取时,会将他们拆开进行读取,出现乱码情况。

java.io.Reader  字符输入流

是字符输入流最顶层的父类,定义了一些共性的成员方法,是一个抽象类

FileReader

读取单个字符

读取多个字符

java.io.Writer  字符输出流

使用步骤

package FileInputStreamTest;

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterMain {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("C:\\Users\\hpuzjh\\Desktop\\d.txt");
        fw.write('张');
        fw.write(97);
        fw.flush();
        fw.close();
    }
}

将'张'、'a'两个字符写进文件中

flush和close方法的区别

字符输出流写数据的其他方法

续写和换行

package FileInputStreamTest;

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterMain {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("C:\\Users\\hpuzjh\\Desktop\\d.txt",true);
        for (int i = 0; i < 5; i++) {
            fw.write("航"+i+"\r\n");
        }
        fw.close();
    }
}

使用try……catch处理流中的异常

JDK7和JDK9中的特性处理方法

发布了369 篇原创文章 · 获赞 74 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_41333844/article/details/103089716