如何扫描整个C盘以获取播放列表

时间:2013-11-19 16:50:40

标签: java file directory

目前我使用以下代码检查我的测试数据文件夹中的m3u(播放列表)文件:

String filename = "test-data\\non-existent-playlist.m3u";
        boolean isHeaderValid = M3UReader.isValidHeader(filename);
        System.out.println(filename + "header tested as "+ isHeaderValid);

我希望能够让程序扫描整个c盘或可移动存储的播放列表文件,但我找不到任何类似的程序来执行此操作。

1 个答案:

答案 0 :(得分:1)

使用Files.walkFileTree。这将扫描整个驱动器并搜索您想要的文件名。

public static void main(String[] args) throws IOException {
    Path startingDir = Paths
        .get("C:\\");
    Files.walkFileTree(startingDir, new FindJavaVisitor());
  }

  private static class FindJavaVisitor extends SimpleFileVisitor<Path> {

    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {

      if (file.toString().contains("non-existent-playlist.m3u")) {
        System.out.println(file.getFileName());
      }
      return FileVisitResult.CONTINUE;
    }
  }