2

我在 sd 卡中有一个文本文件,我想从我的 android 应用程序中以编程方式获取 mb 中文本文件的大小。如何以编程方式获取文本文件的大小(以 MB 为单位)?

4

3 回答 3

8

试试下面的代码:

public long fileSizeInKb(String fileName) {
    File file = new File(fileName);
    long fileSize = file.length();
    return fileSize / 1024;                    
}

如果您仍然面临任何问题,请告诉我。

于 2013-02-11T07:21:56.760 回答
3

使用File类方法public long getTotalSpace()

公共长长度()

像,

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];
}
于 2013-02-11T07:23:58.277 回答
0

您需要打开文件流,然后像这样检查大小:

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

有关更多信息,请尝试阅读此处:获取 android sdk 中的文件大小?

于 2013-02-11T07:23:23.053 回答