如何使用BufferedReader或其他方法读取固定长度字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用BufferedReader或其他方法读取固定长度字符?相关的知识,希望对你有一定的参考价值。

如果我使用BufferReader读取一行,我可以获得一行代码。代码是这样的:

FileInputStream fs = new FileInputStream("E:\tmp\aaa.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));


String line = null;  
while ((line = br.readLine()) != null) { 
    System.out.println(line.length() + " " +line.substring(0, 2);
}

aaa.txt的内容是:

一二三四1234

所以。运行代码的结果是:

8 一二

从结果中,我知道String中的汉字长度是1,而不是2。

所以如果我使用line.substring(0,2),我得到两个汉字“一二”。但我希望line.substring(0,2)的结果是“一”。

我的意思是,在我看来,“一二三四1234”的长度是12,而不是8.我可以使用子串(0,2)来提取固定长度的字符。

提前致谢。

以上是关于如何使用BufferedReader或其他方法读取固定长度字符?的主要内容,如果未能解决你的问题,请参考以下文章

java中BufferedReader的问题 一个程序中如何多次调用BufferedReader 我第二次调用的时候无法读取数据 如

扫描仪与 BufferedReader

Java 中 BufferedReader.readLine() 的最大行长?

BufferedReader 如何从 S3 读取文件?

如何使用 BufferedReader 读取 DataInputStream 中的内容

比 Scanner 或 BufferedReader 从 STDIN 读取多行数据更快的方式?