Java 我如何让我的代码只打印我搜索的结果

Java 我如何让我的代码只打印我搜索的结果,java,Java,我有下面的代码非常粗糙,但这是我被要求完成的一个开始。我的问题与生成的列表有关。它当前列出了服务器上的所有文件,并标记了代码中提到的PMR数据。我是否可以更改某些内容,以便生成的结果只列出匹配的数据,而不是标记它 import java.io.File; public class FilePmrDetector { public static void main(String[] args) { listFiles(new File("/")); } public static vo

我有下面的代码非常粗糙,但这是我被要求完成的一个开始。我的问题与生成的列表有关。它当前列出了服务器上的所有文件,并标记了代码中提到的PMR数据。我是否可以更改某些内容,以便生成的结果只列出匹配的数据,而不是标记它

import java.io.File;

public class FilePmrDetector {
public static void main(String[] args) {
    listFiles(new File("/"));
}

public static void listFiles(File file) {
    if (file == null || isBlackListed(file)) {
        return;
    }

    doSomeActionOnFile(file);

    if (file.isDirectory()) {
        File[] fs = file.listFiles();

        if (fs != null) {
            for (File f : fs) {
                listFiles(f);
            }
        }
    }
    }

   }

    return false;
   }

  public static void doSomeActionOnFile(File file) {
    String msg = file.getAbsolutePath();

    if (isAPmr(file)) {
        msg += "               ----------PMR-----------";
    }

    System.out.println(msg);
  }

  public static boolean isAPmr(File file) {
    if (file != null) {
        String name = file.getAbsolutePath();
        return name.matches("^.*(\\d{5},[a-zA-z0-9]{3},\\d{3}).*$");
    }

    return false;
}
}  

这应该是可运行的,并且仅在(isAPmr(文件))的情况下打印


编辑:


这个
dosomeactionfile(File文件)
方法更好,因为它不像其他方法那样过于复杂

  public static void doSomeActionOnFile(File file) {
    if (isAPmr(file)) {
      System.out.println(file.getAbsolutePath());
    }
  }

你能告诉我在脚本中编辑什么使它扫描服务器的所有分区吗?现在,如果我运行上述命令,它将显示来自C:的所有结果。我将运行它的大部分Windows计算机都有一个C:a D:和一个E:这两个文件都与搜索匹配。我也会在linux服务器上运行它,所以我希望有一两行代码可以修改,让它扫描所有安装的驱动器?
  public static void doSomeActionOnFile(File file) {
    if (isAPmr(file)) {
      System.out.println(file.getAbsolutePath());
    }
  }