使用字节流读取中文的问题,字符输入流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对象指向要读取的文件

 

 

 

posted @   冰灵IT  阅读(142)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示