其他分享
首页 > 其他分享> > 使用字节流读取中文的问题,字符输入流Reader类&FileReader类介绍

使用字节流读取中文的问题,字符输入流Reader类&FileReader类介绍

作者:互联网

使用字节流读取中文的问题:

使用字节流读取中文文件

1个中文

GEK:占用两个字节

UTF-8:占用3个字节

上代码案例:

/**
 * 使用字节流读取中文文件
 * 1个中文
 *   GBK:占用两个字节
 *   UTF-8:占用3个字节
 */
public class bianma {
    public static void main(String[] args) throws IOException {
        //1.创建FileInputStream对象,构造方法中绑定要读取的数据源
        FileInputStream stream = new FileInputStream("ku.txt");
        //2.使用FileInputStream对象中的方法read,读取文件
        //int read()读取文件中的一个字节并返回,读取到文件的末尾返回-1
        int a;
        while ((a=stream.read()) !=-1){
            System.out.print((char)a);
        }
        //释放资源
        stream.close();
    }
}

运行结果:

 

 

 

 

 

 

 

字符输入流Reader类&FileReader类介绍:

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

共性的成员方法:

int read()读取单个字符并返回。

int read (char[ ]   cbuf)一次读取多个字符,将字符读入数组。

void close()关团该流并释放与之关联的所有资源。

java.io.FileReader extends InputstreamReader extends Reader

FiLeReader:文件字符输入流

作用:把硬盘文件中的数据以字符的方式读取到内存中

构造方法:

FiLeReader( string fiLeName)

FiLeReader( FiLe file)

参数:读取文件的数据源

string fiLeName:文件的路径

File file:—个文件

FiLeReader构造方法的作用:

1.创建一个FiLeReader对象

2.会把FileReader对象指向要读取的文件

 

 

 

搜索

复制

标签:文件,读取,字符,read,FileReader,Reader,FiLeReader,字节
来源: https://www.cnblogs.com/hungui/p/16460658.html