Java BufferedReader 遗漏了一些值
Java BufferedReader miss some values
我对 BufferedReader 有疑问。
我的源代码工作正常,但问题是当我从命名管道读取一个值时它遗漏了一些值。
delim="\t";
reader = new BufferedReader(new FileReader("/tmp/base.pip"));
while ((line = reader.readLine())!=null) {
try{
timestamp = Long.parseLong(line.split(delim)[0]);
}
catch(Exception e){
continue;
}
我需要阅读整行才能正确获取第一列值。
例子
原线路:12345678 A B
读取的行:2345678 A B(遗漏第一位)
有什么解决这个问题的建议吗?
p.s 它工作正常,但只有几行有问题,如上面的例子。
尝试用空格拆分它并从数组中取出第一个,例如:
delim = "\s";
timestamp = Long.parseLong(line.split(delim)[0]);
我认为这应该可以解决您的问题。
我已经测试了你的程序,它在我的电脑上运行良好。
- 检查你的外卖
String delim = "\t"
- 检查你的文件,它们之间有一个
tab
分隔符。
- 检查程序中的
line
值。
如果您没有制表符 space,请考虑使用接受任意数量 space 的正则表达式。
String delim = "\s+";
delim = '\t'
split不能以字符作为分隔符。请检查一下。必须是 delim = "\t"
我对 BufferedReader 有疑问。
我的源代码工作正常,但问题是当我从命名管道读取一个值时它遗漏了一些值。
delim="\t";
reader = new BufferedReader(new FileReader("/tmp/base.pip"));
while ((line = reader.readLine())!=null) {
try{
timestamp = Long.parseLong(line.split(delim)[0]);
}
catch(Exception e){
continue;
}
我需要阅读整行才能正确获取第一列值。
例子
原线路:12345678 A B
读取的行:2345678 A B(遗漏第一位)
有什么解决这个问题的建议吗?
p.s 它工作正常,但只有几行有问题,如上面的例子。
尝试用空格拆分它并从数组中取出第一个,例如:
delim = "\s";
timestamp = Long.parseLong(line.split(delim)[0]);
我认为这应该可以解决您的问题。
我已经测试了你的程序,它在我的电脑上运行良好。
- 检查你的外卖
String delim = "\t"
- 检查你的文件,它们之间有一个
tab
分隔符。 - 检查程序中的
line
值。
如果您没有制表符 space,请考虑使用接受任意数量 space 的正则表达式。
String delim = "\s+";
delim = '\t'
split不能以字符作为分隔符。请检查一下。必须是 delim = "\t"