java - 如何获取内部和外部存储中的可用空间

标签 java android storage

如何获得内部和外部存储中的可用空间?我正在开发一个下载 ROM 的应用程序,我必须检查是否有足够的可用空间来下载它。谁能帮我?提前致谢!

最佳答案

根据用户79758:

这是我正在使用的功能:

public static float megabytesAvailable(File f) {
    StatFs stat = new StatFs(f.getPath());
    long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getAvailableBlocks();
    return bytesAvailable / (1024.f * 1024.f);
}

上面的代码引用了一些截至 2014 年 8 月 13 日已弃用的函数。下面我重现了更新的版本:

public static float megabytesAvailable(File f) {
    StatFs stat = new StatFs(f.getPath());
    long bytesAvailable = (long)stat.getBlockSizeLong() * (long)stat.getAvailableBlocksLong();
    return bytesAvailable / (1024.f * 1024.f);
}

关于java - 如何获取内部和外部存储中的可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940716/

相关文章:

android - 应用程序如何知道接收到哪个接入点的 wifi 广播

android - 带 Cookie(或 header )的 VideoView

c++ - 在 vector 中存储基于 CRTP 的类时遇到问题

go - Go中的超时结构

file - 如何在 laravel 中使用 Storage::facade 检查目录是否存在?

java - Spring data,mongodb - 悲观锁定?

java - Spring ExceptionHandler 和 Rest 响应的异常

java - 通过 RestTemplate 在 Google Drive V3 上上传文件时出错

java - 我们可以在参数中将空格作为值传递吗? java

java - 从联系人 android 中检索照片