从文件中读取行时,java 程序在某些情况下将一行读入两行不同的行

while reading lines from file, java program is reading one single line into two different lines in some cases

我需要阅读大量文本文件来开发我的项目。每个文件都包含一个人的推文和转推。我写了简单的 java 代码来做到这一点。我还尝试使用 C 代码读取文件。它也显示出同样的问题 该程序可以正确读取一些行,但在某些情况下,它会断开行并将 1 行读入两行不同的行。在某些地方,程序也会输入新行。

我需要按原样阅读文件。您能否告诉我,是由于文件的输入还是由于其他原因。有什么解决办法吗? 谢谢

下面是我的代码,非常简单。

public class Check {

public static void main(String[] args) throws FileNotFoundException, IOException {

   File InfileName = new File ("c:/users/syeda/desktop/12.txt");

   Scanner in = new Scanner(new FileReader(InfileName));

   String line="";
   int lineNo=0;

   while(in.hasNext()== true)
           {
                line = in.nextLine();
                System.out.println(line); 
                lineNo++;

            } 
    System.out.println(lineNo);

  }
}

我的输入文件仅包含 800 行,但它显示 819 行作为输出。额外的 19 行是一些不在输入文件中的空行,输入文件中的一些行被分成两行并显示额外的 19 行

你的数据不是你想的那样:

您的文件在一行中有多个行分隔符。这就是空白行的来源。

\n\n会算作空行,Windows大概是\n\r\n\r.

行尾标记在诸如 TextPad 你有 \n\n\r 你不认为它们存在的地方是不可见的,就是这么简单。

输入垃圾,输出垃圾

Code is correct, data is wrong.

另外 Scanner 是错误的选择,BufferedReader 会是更好的解决方案。