从文件中读取行时,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
会是更好的解决方案。
我需要阅读大量文本文件来开发我的项目。每个文件都包含一个人的推文和转推。我写了简单的 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
会是更好的解决方案。