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



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

我需要按原样读取文件。请告诉我,是文件输入的原因,还是其他原因?有解决办法吗?由于

下面是我的代码,这是非常简单的。
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行

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

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

nn将被视为空行,Windows可能是nrnr

行尾标记在TextPad中是看不见的,你有nnr,你不认为它们是,就是这么简单。

垃圾输入,垃圾输出

代码正确,数据错误

Scanner也是一个错误的选择,BufferedReader将是一个更好的解决方案。

相关内容

  • 没有找到相关文章

最新更新