gpt4 book ai didi

java - 字符数冲突

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:04 25 4
gpt4 key购买 nike

我正在尝试查找给定文本文件中的字符数。

我尝试过同时使用扫描仪和 BufferedReader,但得到的结果相互矛盾。通过使用扫描仪,我在添加新行字符后连接每一行。例如。像这样:

    FileReader reader = new FileReader("sampleFile.txt");
Scanner lineScanner = new Scanner(reader);
String totalLines = "";

while (lineScanner.hasNextLine()){
String line = lineScanner.nextLine()+'\n';
totalLines += line;
}
System.out.println("Count "+totalLines.length());

这会返回我的文件的真实字符数,即 5799

而当我使用时:

 BufferedReader reader = new BufferedReader(new FileReader("sample.txt"));

int i;
int count = 0;
while ((i = in.read()) != -1) {
count++;
}

System.out.println("Count "+count);

我得到 5892。

我知道如果只有一行,使用 lineScanner 将被关闭,但对于我的文本文件,我得到了正确的输出。

同样在 notepad++ 中,文件长度(以字节为单位)为 5892,但不带空格的字符数为 5706。

最佳答案

您的文件可能包含以 \r\n 而不是 \n 结尾的行。这可能会导致您的差异。

关于java - 字符数冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8000527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com