如何在Java中使用BufferedReader读取到文件末尾(EOF)?

如何在Java中使用BufferedReader读取到文件末尾(EOF)?,java,io,bufferedreader,Java,Io,Bufferedreader,我在Java中读取输入直到EOF出现问题。在这里,有单输入和输出考虑每个行的输入。 示例: 1 2 3 4 5 0 1 0 1 0 输入: 1 2 3 4 5 0 1 0 1 0 输出: 1 2 3 4 5 0 1 0 1 0 但是,我使用Java编码,当我输入两个数字时,将打印单个输出。我希望使用Java中的BufferedReader对每一行进行单输入和单输出(终止EOF) 这是我的代码: BufferedReader input = new BufferedReader(

我在
Java
中读取输入直到
EOF
出现问题。在这里,有单输入和输出考虑每个行的输入。

示例:

1
2
3
4
5
0 
1
0
1
0
输入:

1
2
3
4
5
0 
1
0
1
0
输出:

1
2
3
4
5
0 
1
0
1
0
但是,我使用Java编码,当我输入两个数字时,将打印单个输出。我希望使用Java中的
BufferedReader
对每一行进行单输入和单输出(终止
EOF

这是我的代码:

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
StringBuffer pr = new StringBuffer("");

String str = "";
while((str=input.readLine())!=null && str.length()!=0) {
    BigInteger n = new BigInteger(input.readLine());
}

您正在消耗一行,该行将被丢弃

while((str=input.readLine())!=null && str.length()!=0)
读一个bigint

BigInteger n = new BigInteger(input.readLine());
因此,请尝试从读取为的字符串中获取bigint

BigInteger n = new BigInteger(str);

   Constructor used: BigInteger(String val)
同时((str=input.readLine())!=null和&str.length()!=0)

while((str=input.readLine())!=null)
见相关


请参见

关于文本文件,使用BufferReader.read()时,EOF可能是-1,逐字符。
我用BufferReader.readLine()做了一个测试=空,它工作正常。

您可以粘贴您的代码以尝试帮助您吗?可能是
br.readLine()!=空
!!!粘贴你的代码?你这么做是为了什么for@AndriasMeisyal现在还不清楚。您需要什么类型的输入,输出应该是什么?如果你把1233作为输入,你不能把它转换成整数,因为1233之间有空格,没有修改。是的,你是对的。但是,对不起,每行都是单输入..哦,天哪。谢谢,这很有效,我可以了解更多关于你告诉我的台词。再次感谢您,@一个问题如果我的文件包含
null
字符串,会发生什么???我无法读取完整文件,这可能是一个原因吗?@astuter
null
是一个java关键字<代码>“null”是一个字符串。看到区别了吗?