//some code here
String x;
while ((x = inputStream.readLine()) != null) {
System.out.println(inputStream.readLine());
}
inputStream.close();
}
您好我是Java的初学者,我的while循环应该给出类似的输出 aaasd1 aaasd2 aaasd3 aaasd4 aaasd5 aaasd6 但它给出了 aaasd2 aaasd4 aaasd6
当我将println更改为System.out.println(x);
时,它会提供它应该做的输出。有谁知道这是什么问题。感谢帮助
每次调用inputStream.readLine()
时,您都会读取一行并将文件指针前进到下一行,因为您执行了两次,一次在while loop
标题中,一次在打印时,只打印每一行。打印x代替
String x;
while ((x = inputStream.readLine()) != null) {
System.out.println(x);
}
inputStream.close();
在第一个示例中,您调用readLine()
两次,但只打印每秒的值。也就是说,不会打印在x
表达式中分配给while
的值。当您使用System.out.println(x);
时,您打印每个值。
这段代码:
x = inputStream.readLine()
读取下一行并将其存储在x
中。但是你永远不会使用x
。相反,你这样做:
System.out.println(inputStream.readLine());
这将读取存储在x
中的下一行并将其打印出来。替换为:
System.out.println(x);
这将打印出您刚刚在循环条件中读取的行。