您好我希望在跳过 null 行时获得一些帮助,我已经搜索了答案,但我找不到任何答案。这是我尝试使用的代码:
BufferedReader in = new BufferedReader(new FileReader(newest));
String line = "";
while (true) {
if ((line = in.readLine()) == null) {
答案 0 :(得分:1)
我希望代码看起来像这样:
String line;
while ((line=in.readLine())!=null) {
if (!line.isEmpty()) {
// do stuff
}
}
通常我会检查每一行是否trim
,然后检查它是否为空,但是你说你要排除"一条空白且没有空格"的行,这意味着你想要包含只是空间的行。
如果你做想要跳过所有空格的行,你可以这样做:
String line;
while ((line=in.readLine())!=null) {
if (!line.trim().isEmpty()) {
// do stuff
}
}
while
条件的一点是,当输入完成时BufferedReader
将返回null
,因此应该触发循环的结束。
答案 1 :(得分:0)
线条不会为空,它们可能只是空的。我要做的是检查它是否为空:
if ((line = in.readLine()) != null) {
line = line.trim();
if (line.isEmpty()) {
}
}
答案 2 :(得分:0)
从此流中读取时,只会在流的末尾遇到null(在本例中为文件)。如果您要查找空/空字符串,则该测试位于循环内(下方)。
请注意,String.trim()不修剪对象本身,它返回修剪后的String。通常应该使用Equals方法来测试Object(例如String)的相等性。
BufferedReader in = new BufferedReader(new FileReader(newest));
String line = "";
//Line below keeps looping while the reader return a valid line of text.
//If the end of stream (file in this case) has been reached, you'll get null.
while ((line=in.readLine())!=null) {
//line below tests for empty line
if(line.trim().equals(""){
}
}