如果我使用 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 中一个汉字的长度是一,而不是二。
所以如果我使用 line.substring(0,2),我会得到两个汉字“一二”。但我希望 line.substring(0,2) 的结果是“一”。
我的意思是,在我看来,“一二三四1234”的长度是 12,而不是 8。我可以使用 substring(0,2) 来提取固定长度的字符。
提前致谢。