早上在复习文件操作时突然冒出了一个想法,就是想查看我自己本机的文件系统究竟有多少文件,当时说干就干,哈哈,所以就出现了这篇博文了
本人写的代码不咋滴,自己想到什么就写什么了哈~ 希望大神指点一二哈,好了,就直接上代码了
很简单,我就没写注释了
package com.sise.ioPart01;
import java.io.File;
public class CountFiles implements Runnable{
final static int FILE = 0;
final static int FILEANDDIRECTORY = 1;
public static int[] AllFiles = new int[2];
public static long allTime = 0;
private String path; //文件路径
public CountFiles(String path) {
this.path = path;
}
@Override
public void run() {
// TODO Auto-generated method stub
long time = System.currentTimeMillis();
File file = new File(path);
AllFiles = AllFileNum(file);
allTime +=(System.currentTimeMillis() - time);
System.out.println("文件总数: " + AllFiles[FILE] + ", 文件和目录总数 : " + AllFiles[FILEANDDIRECTORY]);
System.out.println("程序总耗时 : "
+ allTime/(60.0*1000.0) + " 分钟");
}
private int[] AllFileNum(File file) {
if(file.isFile()) {
System.out.println("FileName + " + file.getName() + " --->FilePath : " + file.getAbsolutePath());
synchronized(this) {
AllFiles[0] =AllFiles[0] + 1;
}
}
if(file.isDirectory()) {
System.out.println("DirectoryName :" + file.getName() + " ---> DirectoryPath : " + file.getAbsolutePath());
File[] files = file.listFiles();
for(File tempFile : files) {
AllFileNum(tempFile);
}
}
synchronized(this) {
AllFiles[1] = AllFiles[1] + 1;
}
return AllFiles;
}
public static void main(String args[]) {
Thread t1 = new Thread(new CountFiles("c://"));
Thread t3 = new Thread(new CountFiles("E://"));
Thread t2 = new Thread(new CountFiles("d://"));
t1.start();
t2.start();
t3.start();
}
}
运行后反正达到我想要的效果了~
......//以上省略
FileName + DataBase.vb --->FilePath : d:\项目资料\考勤系统\考勤系统\public\DataBase.vb
FileName + UserInfo.vb --->FilePath : d:\项目资料\考勤系统\考勤系统\public\UserInfo.vb
FileName + 考勤系统.vbproj --->FilePath : d:\项目资料\考勤系统\考勤系统\考勤系统.vbproj
FileName + 考勤系统.vbproj.user --->FilePath : d:\项目资料\考勤系统\考勤系统\考勤系统.vbproj.user
FileName + 考勤系统.sln --->FilePath : d:\项目资料\考勤系统\考勤系统.sln
FileName + 考勤系统.suo --->FilePath : d:\项目资料\考勤系统\考勤系统.suo
FileName + 退出.jpg --->FilePath : d:\项目资料\考勤系统\退出.jpg
文件总数: 461071, 文件和目录总数 : 553933
程序总耗时 : 2.3357833333333335 分钟