Monday, September 15, 2014

Java - Look for Files under given directory

Using Java utilities we can look for specific files matching specified pattern. Below is a sample:


Path rootDirectory = Paths.get(System.getProperty("user.dir")
+ "\\src\\test\\java");

String fileNamePattern = "*.{txt, doc}";

FileSystem fs = FileSystems.getDefault();
final PathMatcher pathMatcher = fs.getPathMatcher("glob:"fileNamePattern);

FileVisitor<Path> pathMatcherVisitor = new SimpleFileVisitor<Path>() {
    @Override
    public FileVisitResult visitFile(Path file,
    BasicFileAttributes attribs) {
        Path name = file.getFileName();
        if (pathMatcher.matches(name)) {
            System.out.println(String.format("Matched file found: '%s'.", file));
        }
        return FileVisitResult.CONTINUE;
    }
};

Files.walkFileTree(rootDirectory, pathMatcherVisitor);


Hope this helps!

No comments:

Post a Comment