jdk7 Files.walkFileTree 遍历目录树

package org.kanpiaoxue;

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * <pre>
 * @author kanpiaoxue<br>
 * @date 2013年12月30日<br>
 * @Copyright kanpiaoxue.org [2004-2013]<br>
 * @Description : 遍历目录树中的.java .class程序文件
 * </pre>
 */
public class Test {

	public static void main(String[] args) throws IOException {
		Path path = Paths.get("");
		System.out.println(path.toAbsolutePath());
		String regex = "^.+?\\.(?:(?:java)||(?:class))$";
		final Pattern pattern = Pattern.compile(regex);
		Files.walkFileTree(path, new SimpleFileVisitor<Path>() {
			public FileVisitResult visitFile(Path file,
					BasicFileAttributes attrs) throws IOException {
				String f = file.toString();
				Matcher m = pattern.matcher(f);
				if (m.matches()) {
					System.out.println(f);
				}
				return FileVisitResult.CONTINUE;
			}
		});

	}

}

 

你可能感兴趣的:(File)