如何在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
字符串,会发生什么???我无法读取完整文件,这可能是一个原因吗?@astuternull
是一个java关键字<代码>“null”是一个字符串。看到区别了吗?