嗨StackOverflow的人,读线是不相符的
我有这个问题在我的系统,在那里我有一个文本文件 线记录的发展,我正在使用BufferedReader
和拆分每行按管道检索(|)。我正在使用Quartz来每天运行这个文件的读取。当我测试它时,我每分钟都会设置一次石英工作,以便我可以在每分钟实际读取文件的情况下测试它。它通过使用它来检查文本文件中的所有行。
BufferedReader reader = new BufferedReader((newInputStreamReader(inputStream));
String line = null;
int counter = 0;
while((line = reader.readLine()) != null){
counter++;
}
System.out.println(counter);
但是,当我分裂String
,检索4451
记录的结果是不一致的。有时候,它只能检索1000+到2000+的记录,有时它会检索4451,但不一致。这是我的代码。
try {
BufferedReader reader = new BufferedReader((newInputStreamReader(inputStream));
String line = null;
int counter = 0;
String[] splitLine = null;
while((line = reader.readLine()) != null){
splitLine = line.split("\\|"); // Splitting the line using '|' Delimiter
for(String temp : splitLine) {
System.out.println(temp);
}
counter++;
}
System.out.println(counter);
} catch (IOException e) {
e.printStackTrace();
}
是分裂字符串和readfile在同一时间迭代可能是原因?
编辑: 情况没有发生异常。它仅通过使用counter
变量来打印长度。
我的预期输出是我想检索文本文件中每行的所有记录,并将每行的字符串拆分为pipe
。counter
是检索的行数。
也许你正在压制一个异常。显示你的完整try/catch块。并修复编译错误。 – shmosel
嗨@shmosel,我没有尝试/赶上,并没有发生错误。 – msagala25
必须在某处尝试/捕捉。您发布的代码没有任何问题。不要让我们乞求[mcve]。 – shmosel