package net.ion.craken.io;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import junit.framework.TestCase;
import net.ion.craken.io.FileVisitor.FileVisitResult;
import net.ion.framework.util.Debug;
import org.apache.commons.io.FilenameUtils;
public class Files extends TestCase{
public final static void walkFileTree(File parent, FileVisitor fvisitor) throws IOException{
FileVisitResult result = fvisitor.visitFile(parent) ;
if (result == FileVisitResult.TERMINATE) return ;
if (parent.isFile()) return ;
File[] files = parent.listFiles() ;
for (File child : files) {
walkFileTree(parent, fvisitor);
}
}
public final static void walkFileJDK7(File parent, final FileVisitor fvisitor) throws IOException{
Path start = parent.toPath() ;
java.nio.file.FileVisitor<? super Path> visitor = new SimpleFileVisitor<Path>() {
public java.nio.file.FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException{
fvisitor.visitFile(file.toFile());
return java.nio.file.FileVisitResult.CONTINUE ;
}
};
java.nio.file.Files.walkFileTree(start, visitor) ;
}
}