java 獲取資料夾大小、檔案大小、檔案個數
轉載自:http://www.csharpwin.net/ddwstp/java/javase/7209dr1597.shtml點選開啟連結
import java.io.File;
import java.text.DecimalFormat;
import java.io.FileInputStream;public class GetFileSize
{
public long getFileSizes(File f)throws Exception{//取得檔案大小
long s=0;
if (f.exists()) {
FileInputStream fis =null;
fis = new FileInputStream(f);
s= fis.available();
} else {
f.createNewFile();
System.out.println("檔案不存在");
}
return s;
}
// 遞迴
publiclong getFileSize(File f)throws Exception//取得資料夾大小
{
long size = 0;
File flist[] = f.listFiles();
for (int i= 0; i< flist.length; i++)
{
if (flist[i].isDirectory())
{
size = size+ getFileSize(flist[i]);
} else
{
size = size+ flist[i].length();
}
}
return size;
}
public String FormetFileSize(long fileS) {//轉換檔案大小
DecimalFormat df =new DecimalFormat("#.00");
String fileSizeString ="";
if (fileS < 1024) {
fileSizeString = df.format((double) fileS)+ "B";
} else if (fileS <1048576) {
fileSizeString = df.format((double) fileS/ 1024)+ "K";
} else if (fileS <1073741824) {
fileSizeString = df.format((double) fileS/ 1048576)+ "M";
} else {
fileSizeString = df.format((double) fileS/ 1073741824)+ "G";
}
return fileSizeString;
}
public long getlist(File f){//遞迴求取目錄檔案個數
long size= 0;
File flist[] = f.listFiles();
size=flist.length;
for (int i= 0; i< flist.length; i++) {
if (flist[i].isDirectory()) {
size = size+ getlist(flist[i]);
size--;
}
}
return size;
}
public static void main(String args[])
{
GetFileSize g =new GetFileSize();
long startTime= System.currentTimeMillis();
try
{
long l = 0;
String path ="C:\\WINDOWS";
File ff = new File(path);
if (ff.isDirectory()) {//如果路徑是資料夾的時候
System.out.println("檔案個數" + g.getlist(ff));
System.out.println("目錄");
l = g.getFileSize(ff);
System.out.println(path +"目錄的大小為:"+ g.FormetFileSize(l));
} else {
System.out.println(" 檔案個數 1");
System.out.println("檔案");
l = g.getFileSizes(ff);
System.out.println(path +"檔案的大小為:"+ g.FormetFileSize(l));
}
} catch (Exception e)
{
e.printStackTrace();
}
long endTime= System.currentTimeMillis();
System.out.println("總共花費時間為:"+ (endTime - startTime) + "毫秒...");
}
}
相關文章
- 獲取上傳檔案的大小
- iOS獲取檔案大小遇到的坑iOS
- Linux 資料夾和檔案大小排序Linux排序
- du df 檢視檔案和資料夾大小
- PG獲取檔案大小的幾種方式
- resize 資料檔案的大小
- 檢視資料檔案大小
- oracle資料檔案大小限制Oracle
- 查詢資料檔案大小和實際大小,並收縮資料檔案(轉)
- 查詢資料檔案大小和實際大小,並收縮資料檔案(原創)
- Oracle資料檔案大小的限制Oracle
- 擴充套件資料檔案大小套件
- 獲取資料夾及其子資料夾下的所有檔案
- 得到檔案大小
- 讀取資料夾檔案
- java中獲得檔案大小,用RandomAccessFile的lengh方法JavarandomMac
- 資料檔案頭塊保留大小、ROWID、資料檔案最大大小等資料庫限制的說明資料庫
- 獲得檔案的大小(c語言)C語言
- Powershell 如何批次獲取檔案大小的實現程式碼
- JavaScript input type=file 獲取檔案大小及型別限制JavaScript型別
- 就這樣獲取檔案的MD5和大小
- 限制檔案大小及顯示檔案大小(正規表示式
- archive log檔案大小與redo log檔案大小關係探究Hive
- 讀取檔案大小-列印進度條
- oracle 資料檔案(Datafile ) 大小 限制 說明Oracle
- Linux技巧--檢視檔案及資料夾佔用空間大小Linux
- ORACLE中資料檔案大小及數量限制初探Oracle
- android 統計資料夾大小及刪除資料夾下所有檔案和路徑Android
- 各檔案系統對單個檔案大小的限制
- 資料檔案大小和資料庫的關係資料庫
- 檢視資料庫資料檔案的總大小資料庫
- 獲取Linux系統中目錄檔案大小的方法Linux
- linux檔案相關命令 透過檔案獲取父資料夾名稱Linux
- 更改RAC資料庫日誌檔案大小及數量 for ASM資料庫ASM
- 修改上傳檔案大小
- 日誌檔案的大小
- 增大redo log檔案大小
- oracle 回收表空間的資料檔案大小Oracle