我需要阅读大量文本文件来开发我的项目。每个文件都包含一个人的推文和转推。我写了简单的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行
答案 0 :(得分:1)
您的文件连续有多个行分隔符。这就是空白行的来源。
\n\n
将计为空行,Windows可能为\n\r\n\r
。
在您TextPad
或\n
\n\r
之类的内容中,行标记不可见,您认为它们不是,就是这么简单。
Code is correct, data is wrong.
同样Scanner
是错误的选择,BufferedReader
将是更好的解决方案。