获取本地文件系统文件总数

原创
2015/06/17 13:15
阅读数 34

早上在复习文件操作时突然冒出了一个想法,就是想查看我自己本机的文件系统究竟有多少文件,当时说干就干,哈哈,所以就出现了这篇博文了

本人写的代码不咋滴,自己想到什么就写什么了哈~      希望大神指点一二哈,好了,就直接上代码了

很简单,我就没写注释了

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 分钟


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部