循环文件打印行匹配模式

时间:2016-09-20 15:38:45

标签: java

我正在阅读一个文件,并且只想打印以空格开头的行和我要打印的所有其他行“hi”。这就是我现在所拥有的。

while((first = frBr.readLine()) != null) {

         if(first.startsWith(" ")) {
             System.out.println(first);
         }
         else if((!(first.startsWith(" "))){
                System.out.println("Hi");

         } 
}

1 个答案:

答案 0 :(得分:0)

您不需要对else子句进行额外测试。

while ((first = frBr.readLine()) != null) {
    if (first.startsWith(" ")) {
        System.out.println(first);
    } else {
        System.out.println("Hi");
    } 
 }

请注意,一行可能以标签\t)等字符开头,这些字符似乎是空格但不是空格。在这种情况下,您打印Hi而不是行。

如果您需要打印任何白色字符的行,可以使用Character的{​​{3}}方法:

  

根据Java

确定指定的字符是否为空格

以下是使用它的代码。

while ((first = frBr.readLine()) != null) {
    // Check also if first has at least one character
    if (Character.isWhiteSpace(first.charAt(0)) {
        System.out.println(first);
    } else {
        System.out.println("Hi");
    } 
 }