很简单的代码,只是遍历目录,然后将所有的文件(不包括目录)名(含绝对路径)放到一个ArrayList中,最后打印该ArrayList。
不过在这个基础上可以开发很多有用的东西,本代码关键是演示如何遍历的:
不过在这个基础上可以开发很多有用的东西,本代码关键是演示如何遍历的:
/*
* FileManager.java
*
*/
package cn.com.jointforce.common;
import java.io.*;
import java.util.*;
/**
*
* @author Eric
*/
public class FileManager {
/** Creates a new instance of FileManager */
public FileManager() {
}
// All files container
public ArrayList fileContainer = new ArrayList();
/**
* Kernel function, using recursion
*/
public void searchFiles(String dir) {
File root = new File(dir);
File[] file_array = root.listFiles();
for (int i=0; i<file_array.length; i++) {
if (file_array[i].isDirectory()) {
searchFiles(file_array[i].getAbsolutePath());
} else {
fileContainer.add(file_array[i].getAbsolutePath());
}
}
}
/**
* Main function
*/
public static void main(String[] args) {
FileManager fm = new FileManager();
fm.searchFiles("D:\\JointForce");
int file_number = fm.fileContainer.size();
System.out.println("Found " + file_number + " files...");
for (int i=0; i<file_number; i++) {
System.out.println((String)fm.fileContainer.get(i));
}
}
}
* FileManager.java
*
*/
package cn.com.jointforce.common;
import java.io.*;
import java.util.*;
/**
*
* @author Eric
*/
public class FileManager {
/** Creates a new instance of FileManager */
public FileManager() {
}
// All files container
public ArrayList fileContainer = new ArrayList();
/**
* Kernel function, using recursion
*/
public void searchFiles(String dir) {
File root = new File(dir);
File[] file_array = root.listFiles();
for (int i=0; i<file_array.length; i++) {
if (file_array[i].isDirectory()) {
searchFiles(file_array[i].getAbsolutePath());
} else {
fileContainer.add(file_array[i].getAbsolutePath());
}
}
}
/**
* Main function
*/
public static void main(String[] args) {
FileManager fm = new FileManager();
fm.searchFiles("D:\\JointForce");
int file_number = fm.fileContainer.size();
System.out.println("Found " + file_number + " files...");
for (int i=0; i<file_number; i++) {
System.out.println((String)fm.fileContainer.get(i));
}
}
}