android.os.StatFs#getAvailableBlocks ( )源码实例Demo

下面列出了android.os.StatFs#getAvailableBlocks ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: AndroidDemo   文件: StorageQueryUtil.java
public static void queryWithStatFs() {
        StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath());

        //存储块
        long blockCount = statFs.getBlockCount();
        //块大小
        long blockSize = statFs.getBlockSize();
        //可用块数量
        long availableCount = statFs.getAvailableBlocks();
        //剩余块数量,注:这个包含保留块(including reserved blocks)即应用无法使用的空间
        long freeBlocks = statFs.getFreeBlocks();

        //level 18
//        long totalSize = statFs.getTotalBytes();
//        long availableSize = statFs.getAvailableBytes();

        Log.d(TAG, "=========");
        Log.d(TAG, "total = " + getUnit(blockSize * blockCount, 1024));
        Log.d(TAG, "available = " + getUnit(blockSize * availableCount, 1024));
        Log.d(TAG, "free = " + getUnit(blockSize * freeBlocks, 1024));
    }
 
源代码2 项目: KrGallery   文件: ExternalStorage.java
/**
 * 获取目录剩余空间
 * @param directoryPath
 * @return
 */
private long getResidualSpace(String directoryPath) {
    try {
        StatFs sf = new StatFs(directoryPath);
        long blockSize = sf.getBlockSize();
        long availCount = sf.getAvailableBlocks();
        long availCountByte = availCount * blockSize;
        return availCountByte;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return 0;
}
 
源代码3 项目: android_tv_metro   文件: Utils.java
public static long readSystemAvailableSize() {
	String path = "/data"; 
	StatFs sf = new StatFs(path);
	long blockSize = sf.getBlockSize();
	Log.d("block size", "block size: " + blockSize);
	//long blockCount = sf.getBlockCount();
	//Log.d("available count", "available count: " + sf.getAvailableBlocks());
	long availCount = sf.getAvailableBlocks();
	Log.d("available count", "available count: " + availCount);
	return blockSize * availCount/1024;
}
 
源代码4 项目: cronet   文件: ApiCompatibilityUtils.java
/**
 * See {@link android.os.StatFs#getAvailableBlocksLong}.
 */
@SuppressWarnings("deprecation")
public static long getAvailableBlocks(StatFs statFs) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        return statFs.getAvailableBlocksLong();
    } else {
        return statFs.getAvailableBlocks();
    }
}
 
源代码5 项目: AndroidNetwork   文件: BaseUtils.java
/**
 * 获取SD卡剩余空间的大小
 * 
 * @return long SD卡剩余空间的大小(单位:byte)
 */
public static long getSDSize()
{
    final String str = Environment.getExternalStorageDirectory().getPath();
    final StatFs localStatFs = new StatFs(str);
    final long blockSize = localStatFs.getBlockSize();
    return localStatFs.getAvailableBlocks() * blockSize;
}
 
源代码6 项目: Kernel-Tuner   文件: Utility.java
public static long getUsedSpaceInBytesOnInternalStorage()
{
    long usedSpace;
    StatFs stat = new StatFs(Environment.getDataDirectory().getPath());
    usedSpace = ((long) stat.getBlockCount() - stat.getAvailableBlocks())
            * (long) stat.getBlockSize();

    return usedSpace;
}
 
源代码7 项目: android-storage   文件: Storage.java
public long getFreeSpace(String dir, SizeUnit sizeUnit) {
    StatFs statFs = new StatFs(dir);
    long availableBlocks;
    long blockSize;
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
        availableBlocks = statFs.getAvailableBlocks();
        blockSize = statFs.getBlockSize();
    } else {
        availableBlocks = statFs.getAvailableBlocksLong();
        blockSize = statFs.getBlockSizeLong();
    }
    long freeBytes = availableBlocks * blockSize;
    return freeBytes / sizeUnit.inBytes();
}
 
源代码8 项目: reader   文件: DirectoryManager.java
/**
 * Given a path return the number of free KB
 * 
 * @param path to the file system
 * @return free space in KB
 */
private static long freeSpaceCalculation(String path) {
    StatFs stat = new StatFs(path);
    long blockSize = stat.getBlockSize();
    long availableBlocks = stat.getAvailableBlocks();
    return availableBlocks * blockSize / 1024;
}
 
源代码9 项目: DoraemonKit   文件: DeviceUtils.java
/**
 * @return Number of bytes available on external storage
 */
public static long getExternalAvailableSpaceInBytes() {
    long availableSpace = -1L;
    try {
        StatFs stat = new StatFs(Environment.getExternalStorageDirectory()
                .getPath());
        availableSpace = (long) stat.getAvailableBlocks()
                * (long) stat.getBlockSize();
    } catch (Exception e) {
        e.printStackTrace();
    }

    return availableSpace;
}
 
源代码10 项目: RxTools-master   文件: RxFileTool.java
/**
 * 获取某个目录可用大小.
 */
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
public static long getDirSize(String path) {
    StatFs stat = new StatFs(path);
    long blockSize, availableBlocks;
    if (Build.VERSION.SDK_INT >= 18) {
        blockSize = stat.getBlockSizeLong();
        availableBlocks = stat.getAvailableBlocksLong();
    } else {
        blockSize = stat.getBlockSize();
        availableBlocks = stat.getAvailableBlocks();
    }
    return availableBlocks * blockSize;
}
 
源代码11 项目: SSForms   文件: DirectoryFragment.java
private String getRootSubtitle(String path) {
    StatFs stat = new StatFs(path);
    long total = (long) stat.getBlockCount() * (long) stat.getBlockSize();
    long free = (long) stat.getAvailableBlocks()
            * (long) stat.getBlockSize();
    if (total == 0) {
        return "";
    }
    return "Free " + formatFileSize(free) + " of " + formatFileSize(total);
}
 
源代码12 项目: Aria   文件: AndroidUtils.java
/**
 * Check how much usable space is available at a given path.
 *
 * @param path The path to check
 * @return The space available in bytes
 */
@TargetApi(Build.VERSION_CODES.GINGERBREAD) public static long getUsableSpace(File path) {
  if (AndroidVersionUtil.hasGingerbread()) {
    return path.getUsableSpace();
  }
  final StatFs stats = new StatFs(path.getPath());
  return (long) stats.getBlockSize() * (long) stats.getAvailableBlocks();
}
 
源代码13 项目: Kernel-Tuner   文件: Utility.java
public static long getAvailableSpaceInBytesOnInternalStorage()
{
    long availableSpace;
    StatFs stat = new StatFs(Environment.getDataDirectory().getPath());
    availableSpace = (long) stat.getAvailableBlocks()
            * (long) stat.getBlockSize();

    return availableSpace;
}
 
源代码14 项目: styT   文件: FileUtils.java
/**
 * 获得sd卡剩余容量,即可用大小
 *
 * @return
 */
public static String getSDAvailableSize(Context ontext) {
    File path = Environment.getExternalStorageDirectory();
    StatFs stat = new StatFs(path.getPath());
    long blockSize = stat.getBlockSize();
    long availableBlocks = stat.getAvailableBlocks();
    return Formatter.formatFileSize(ontext, blockSize * availableBlocks);
}
 
源代码15 项目: styT   文件: api_o.java
private String getRomAvailableSize() {
    File path = Environment.getDataDirectory();
    StatFs stat = new StatFs(path.getPath());
    long blockSize = stat.getBlockSize();
    long availableBlocks = stat.getAvailableBlocks();
    return Formatter.formatFileSize(this, blockSize * availableBlocks);
}
 
源代码16 项目: reader   文件: DirectoryManager.java
/**
 * Given a path return the number of free KB
 * 
 * @param path to the file system
 * @return free space in KB
 */
private static long freeSpaceCalculation(String path) {
    StatFs stat = new StatFs(path);
    long blockSize = stat.getBlockSize();
    long availableBlocks = stat.getAvailableBlocks();
    return availableBlocks * blockSize / 1024;
}
 
源代码17 项目: RoMote   文件: ImageCache.java
/**
 * Check how much usable space is available at a given path.
 *
 * @param path The path to check
 * @return The space available in bytes
 */
@TargetApi(VERSION_CODES.GINGERBREAD)
public static long getUsableSpace(File path) {
    if (Utils.hasGingerbread()) {
        return path.getUsableSpace();
    }
    final StatFs stats = new StatFs(path.getPath());
    return (long) stats.getBlockSize() * (long) stats.getAvailableBlocks();
}
 
源代码18 项目: MVPAndroidBootstrap   文件: SDCardUtil.java
/**
 * Returns the available space in megabytes.
 * @return
 */
public static int getAvailableSpaceInMegaBytes() {
    int availableSpace = 0;

    try {
        StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
        availableSpace = stat.getAvailableBlocks() * stat.getBlockSize() / 1048576;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return availableSpace;
}
 
源代码19 项目: Android-Remote   文件: Utilities.java
/**
 * Get the free space on the internal storage device
 *
 * @return The free space in byte
 */
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public static double getFreeSpaceInternal() {
    StatFs stat = new StatFs(App.getApp().getFilesDir().getPath());
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
        return (double) stat.getAvailableBlocks() * (double) stat.getBlockSize();
    } else {
        return (double) stat.getAvailableBlocksLong() * (double) stat.getBlockSizeLong();
    }
}
 
源代码20 项目: kcanotify_h5-master   文件: ChatFileUtils.java
public static int freeSpaceOnSd() {
    StatFs stat = new StatFs(Environment.getExternalStorageDirectory()
            .getPath());


    double sdFreeMB = ((double) stat.getAvailableBlocks() * (double) stat
            .getBlockSize()) / MB;


    return (int) sdFreeMB;
}