早上在複習文件操做時忽然冒出了一個想法,就是想查看我本身本機的文件系統究竟有多少文件,當時說幹就幹,哈哈,因此就出現了這篇博文了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 分鐘