【问题标题】:Size of file using Android Internal Storage使用 Android 内部存储的文件大小
【发布时间】:2016-11-11 01:49:48
【问题描述】:

我正在使用:

FileOutputStream fos = getContext().openFileOutput(FILENAME, Context.MODE_APPEND);

将数据字符串存储到文件FILENAME中。我想确保当 FILENAME 中的字符串达到 120kB 时,我将停止追加任何字符串。如何查询占用的总空间?

我试过了:

File file = new File(getContext().getFilesDir() + "/" + FILENAME);
Log.i(TAG, "Storage Used (Bytes): " + Long.toString(file.getTotalSpace()));

但它返回给我一个巨大的数字。可能是因为我引用目录的方式不对?

【问题讨论】:

  • 看File.length()

标签: java android android-internal-storage


【解决方案1】:

使用方法 length() 代替。来自文档

getTotalSpace:

返回由此抽象路径名命名的分区的大小。

length:

返回此抽象路径名表示的文件的长度。如果此路径名表示目录,则返回值未指定。

因此 getTotalSpace 用于检查有关文件夹或驱动器的信息。

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 2012-01-04
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多