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) + "毫秒...");
}
}
相關文章
- PG獲取檔案大小的幾種方式
- 讀取資料夾檔案
- 限制檔案大小及顯示檔案大小(正規表示式
- Linux技巧--檢視檔案及資料夾佔用空間大小Linux
- 獲取Linux系統中目錄檔案大小的方法Linux
- Powershell 如何批次獲取檔案大小的實現程式碼
- 讀取檔案大小-列印進度條
- linux檔案相關命令 透過檔案獲取父資料夾名稱Linux
- Java中用URLConnection查詢Web檔案大小JavaWeb
- Python3 - 獲取資料夾中的檔案列表Python
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- Go語言 | 你還在這樣獲取檔案的大小嗎?Go
- Python求取資料夾內的檔案數量、子資料夾內的檔案數量Python
- apache上傳檔案大小限制Apache
- PbootCMS上傳檔案大小限制boot
- php檔案上傳大小限制PHP
- 利用java建立檔案或者資料夾Java
- 如何在Java中讀取超過記憶體大小的檔案Java記憶體
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- 畸形檔案 資料夾
- Centos下檢視當前目錄大小及檔案個數CentOS
- 獲取一個資料夾下所有指定字尾名(.java)的檔案(包括子資料夾中的內容),並將這些檔案的絕對路徑寫入到一個文字檔案中Java
- 生成固定大小的隨機檔案隨機
- JavaScript限制上傳檔案的大小JavaScript
- base64檔案大小計算
- linux 常用檢視埠,檔案大小Linux
- 【Addressable】Catalog檔案大小最佳化
- python 將檔案大小轉換為human readable 的大小表示Python
- windows資料夾大小Windows
- git的gitignore檔案排除資料夾和檔案Git
- C++讀取某個資料夾下面的子資料夾及其所有檔案C++
- Linux擴容後,邏輯分割槽大小與檔案大小不符Linux
- jQuery Validate驗證上傳檔案大小jQuery
- 禪道檔案大小限制-nginx 調整Nginx
- 限制 Apache日誌檔案大小的方法Apache
- Python 壓縮PDF減小檔案大小Python
- Nginx 調整檔案上傳大小限制Nginx
- linux 中根據檔案的大小進行檔案的查詢Linux
- win10怎麼看資料夾所佔空間的大小 windows10如何檢視檔案所佔空間大小Win10Windows