1

我在用着:

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()));

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

4

1 回答 1

0

请改用方法 length()。从文档

获取总空间

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

长度

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

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

于 2016-11-11T05:58:31.210 回答