2013-02-11 107 views
2

我在SD卡中有一個文本文件,我想從我的android應用程序中以編程方式獲得mb文本文件的大小。如何以編程方式獲得MB文本文件的大小?文本文件的大小

+1

文件大小以字節,因此當你需要1024將其轉換爲MB只是DIVID兩次。 – 2013-02-11 07:24:42

回答

8

試試下面的代碼: -

public long FileSize(String fileName) { 
     File file = new File(fileName); 
     long filesize = file.length(); 
     return filesizeInKB = filesize/1024;      
} 

讓我知道如果你仍然面臨的任何問題。

+0

ok thx回覆讓我檢查你的代碼。 – 2013-02-11 07:23:19

0

你需要打開流的文件,然後檢查大小是這樣的:

File file=new File(Environment.getExternalStorageDirectory(), "lala.txt"); 
long size = file.length(); 

有關這方面的嘗試閱讀這裏:Get the file size in android sdk?

2

使用File類方法public long getTotalSpace()

public long length()

贊,

File file = new File("/mnt/sdcard/temp.txt"); 
String size = readableFileSize(file.getTotalSpace()); // file.length() alternate 

和方法readableFileSize()

public String readableFileSize(long size) { 
    if(size <= 0) return "0"; 
    final String[] units = new String[] { "B", "KB", "MB", "GB", "TB" }; 
    int digitGroups = (int) (Math.log10(size)/Math.log10(1024)); 
    return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups]; 
}