import java.io.File;
import java.util.LinkedList;
import java.util.Iterator;
public class Test {
static long fileCount = 0; //定义文件计数器
static long dicCount = 0; //定义目录计数器
static long sum = 0;
static LinkedList fileList=new LinkedList();
/*
方法名称:File [] listSysRoot()
方法描述:用于遍历硬盘的所有分区的根目录
返回值 :File []
*/
private File[] listSystemRoot() {
File sysRoot[] = File.listRoots();
return sysRoot;
}
/*
方法名称:void listDirectory()
方法描述:用于遍历磁盘上的文件和目录
返回值 :void
*/
private void listDirectory(File dic) {
if (dic.isFile()) {
System.out.println("[文件] " + dic.getName() + "的长度" + dic.length() +
"字节");
fileCount++;
for (int k = 0; k < fileCount; k++) {
sum = sum + dic.length();
}
fileList.addAll(fileList);
fileList.add(dic.getAbsoluteFile());
}
if (dic.isDirectory()) {
System.out.println("[目录] " + "[" + dic.getName() + "]");
dicCount++;
File subDic[] = dic.listFiles(); //以数组类型列出目录下的所有文件
for (int j = 0; j < subDic.length; j++) {
listDirectory(subDic[j]);
}
}
}
public static void main(String[] args) {
// int n=0;
//int array[]=new int[n];
// File f_obj=new File(array[]);
/* Harddisklist myHard = new Harddisklist(); //声明Harddisklist方法,并分配内存空间
File myRoot[] = myHard.listSystemRoot();
System.out.println("类型 名称");
for (int i = 5; i < 6; i++) {
System.out.println("当前扫描磁盘:" + myRoot[i]);
File subf[] = myRoot[i].listFiles();
for (int k = 0; k < subf.length; k++) {
myHard.listDirectory(subf[k]);
}
System.out.println("****************************************");
System.out.println("当前磁盘总共有 [" + fileCount + "] 个文件.");
System.out.println("当前磁盘总共有 [" + dicCount + "] 个目录.");
System.out.println("当前磁盘文件的总大小为" + sum + "字节");
System.out.println("****************************************");
}*/
Test test = new Test();
File file = new File("E:/project/testMOM/TousuDataTransmission/src");
test.listDirectory(file);
System.out.println("****************************************");
System.out.println("当前磁盘总共有 [" + fileCount + "] 个文件.");
System.out.println("当前磁盘总共有 [" + dicCount + "] 个目录.");
System.out.println("当前磁盘文件的总大小为" + sum + "字节");
System.out.println("****************************************");
Iterator it=fileList.iterator();
while(it.hasNext()){
System.out.println("fileList="+it.next());
}
}
}