如何在java中跳过空行?

时间:2015-01-14 21:26:42

标签: java file io

您好我希望在跳过 null 行时获得一些帮助,我已经搜索了答案,但我找不到任何答案。这是我尝试使用的代码:

BufferedReader in = new BufferedReader(new FileReader(newest));
    String line = "";
    while (true) {
        if ((line = in.readLine()) == null) {

3 个答案:

答案 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(""){

    }    
}