利用Recursion,取得文件目錄及其子目錄。
FileList.java
public class FileList {
public static void main(String[] args) {
File f = new File("C:\\");
System.out.println(f.getName());
tree(f, 1);
}
private static void tree(File f, int leval) {
String preStr = "";
for (int i = 0; i < leval; i++) {
preStr += " ";
}
File[] childs = f.listFiles();
for (int i = 0; i < childs.length; i++) {
System.out.println(preStr + "----"+childs[i].getName());
if (childs[i].isDirectory()) {
tree(childs[i], leval + 1);
}
}
}
}
取得文件目錄:
FileDirectory.java
import java.io.File;
import java.io.FileFilter;
public class FileDirectory implements FileFilter{
private boolean isDirectory;
public FileDirectory(boolean isDir)
{
this.isDirectory=isDir;
}
public boolean accept(File pathname)
{
if(pathname.isDirectory()==isDirectory)
{
return true;
}
else
{
return false;
}
}
}
Main.java
import java.io.File;
public class Main{
public static void main(String[] args) {
File file=new File("C:\\");
file.mkdirs();
FileDirectory fd=new FileDirectory(true);
System.out.println(file.getAbsolutePath());
File[] filenames=file.listFiles(fd);
for(int i=0;i<filenames.length;i++)
{
System.out.println(filenames[i].getAbsolutePath());
}
}
}