早上在复习文件操做时忽然冒出了一个想法,就是想查看我本身本机的文件系统究竟有多少文件,当时说干就干,哈哈,因此就出现了这篇博文了java
本人写的代码不咋滴,本身想到什么就写什么了哈~ 但愿大神指点一二哈,好了,就直接上代码了ide
很简单,我就没写注释了this
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(); } }
运行后反正达到我想要的效果了~code
......//以上省略 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 分钟