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

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

源代码1 项目: CleanExpert   文件: DiskStat.java
private void calculateExternalSpace() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        File sdcardDir = Environment.getExternalStorageDirectory();
        StatFs sf = new StatFs(sdcardDir.getPath());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            mExternalBlockSize = sf.getBlockSizeLong();
            mExternalBlockCount = sf.getBlockCountLong();
            mExternalAvailableBlocks = sf.getAvailableBlocksLong();
        } else {
            mExternalBlockSize = sf.getBlockSize();
            mExternalBlockCount = sf.getBlockCount();
            mExternalAvailableBlocks = sf.getAvailableBlocks();
        }
    }
}
 
源代码2 项目: DevUtils   文件: SDCardUtils.java
/**
 * 获取对应路径已使用空间大小
 * @param path 路径
 * @return 对应路径已使用空间大小
 */
public static long getUsedBlocks(final String path) {
    try {
        // 获取路径的存储空间信息
        StatFs statFs = new StatFs(path);
        // 单个数据块的大小、数据块数量、空闲的数据块数量
        long blockSize, blockCount, availableBlocks;
        // 版本兼容
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            blockSize = statFs.getBlockSizeLong();
            blockCount = statFs.getBlockCountLong();
            availableBlocks = statFs.getAvailableBlocksLong();
        } else {
            blockSize = statFs.getBlockSize();
            blockCount = statFs.getBlockCount();
            availableBlocks = statFs.getAvailableBlocks();
        }
        // 返回已使用空间大小
        return ((blockCount - availableBlocks) * blockSize);
    } catch (Exception e) {
        LogPrintUtils.eTag(TAG, e, "getUsedBlocks");
    }
    return 0L;
}
 
源代码3 项目: zone-sdk   文件: SDCardUtils.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public static SDCardInfo getSDCardInfo() {
    SDCardInfo sd = new SDCardInfo();
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        sd.isExist = true;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            File sdcardDir = Environment.getExternalStorageDirectory();
            StatFs sf = new StatFs(sdcardDir.getPath());

            sd.totalBlocks = sf.getBlockCountLong();
            sd.blockByteSize = sf.getBlockSizeLong();

            sd.availableBlocks = sf.getAvailableBlocksLong();
            sd.availableBytes = sf.getAvailableBytes();

            sd.freeBlocks = sf.getFreeBlocksLong();
            sd.freeBytes = sf.getFreeBytes();

            sd.totalBytes = sf.getTotalBytes();
        }
    }
    LogZSDK.INSTANCE.i(sd.toString());
    return sd;
}
 
源代码4 项目: AndroidBase   文件: SdCardUtil.java
/**
 * Get SD card info detail.
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public static SDCardInfo getSDCardInfo() {
    SDCardInfo sd = new SDCardInfo();
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        sd.isExist = true;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            File sdcardDir = Environment.getExternalStorageDirectory();
            StatFs sf = new StatFs(sdcardDir.getPath());

            sd.totalBlocks = sf.getBlockCountLong();
            sd.blockByteSize = sf.getBlockSizeLong();

            sd.availableBlocks = sf.getAvailableBlocksLong();
            sd.availableBytes = sf.getAvailableBytes();

            sd.freeBlocks = sf.getFreeBlocksLong();
            sd.freeBytes = sf.getFreeBytes();

            sd.totalBytes = sf.getTotalBytes();
        }
    }
    LogUtils.i( sd.toString());
    return sd;
}
 
源代码5 项目: HeroVideo-master   文件: CommonUtil.java
/**
 * 获取手机SD卡总空间
 *
 * @return
 */
private static long getSDcardTotalSize()
{

    if (checkSdCard())
    {
        File path = Environment.getExternalStorageDirectory();
        StatFs mStatFs = new StatFs(path.getPath());
        long blockSizeLong = mStatFs.getBlockSizeLong();
        long blockCountLong = mStatFs.getBlockCountLong();

        return blockSizeLong * blockCountLong;
    } else
    {
        return 0;
    }
}
 
源代码6 项目: external-resources   文件: Cache.java
@SuppressWarnings("deprecation") public static long calculateDiskCacheSize(File dir) {
  long size = MIN_DISK_CACHE_SIZE;

  try {
    StatFs statFs = new StatFs(dir.getAbsolutePath());
    final long available;

    if (SDK_INT < JELLY_BEAN_MR2) {
      available = ((long) statFs.getBlockCount()) * statFs.getBlockSize();
    } else {
      available = statFs.getBlockCountLong() * statFs.getBlockSizeLong();
    }

    size = available / 50;
  } catch (IllegalArgumentException ignored) {
  }

  return Math.max(Math.min(size, MAX_DISK_CACHE_SIZE), MIN_DISK_CACHE_SIZE);
}
 
源代码7 项目: FileManager   文件: StorageUtil.java
/**
 * 获得手机sdcard的总空间大小(单位KB)
 */
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
@Deprecated
public static long getSDCardTotalSize() {

    if (!isSDCardAvailable()) {
        return 1;
    }

    File path = Environment.getExternalStorageDirectory();
    StatFs sf = new StatFs(path.getPath());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        return sf.getBlockSizeLong() * sf.getBlockCountLong();
    } else {
        // (jira ZB-43)计算数值如果是int类型的话,计算结果也会先当成int类型处理,可能造成结果溢出变为负数
        return (long) sf.getBlockSize() * sf.getBlockCount();
    }
}
 
源代码8 项目: BlueBoard   文件: OkDownloadManager.java
public static long getTotalExternalMemorySize() {
    if (hasSDCard()) {
        File path = Environment.getExternalStorageDirectory();
        StatFs stat = new StatFs(path.getPath());
        long blockSize = stat.getBlockSizeLong();
        long totalBlocks = stat.getBlockCountLong();
        return totalBlocks * blockSize;
    } else {
        return -1;
    }
}
 
源代码9 项目: AndroidUtilCode   文件: FileUtils.java
/**
 * Return the total size of file system.
 *
 * @param anyPathInFs Any path in file system.
 * @return the total size of file system
 */
public static long getFsTotalSize(String anyPathInFs) {
    if (TextUtils.isEmpty(anyPathInFs)) return 0;
    StatFs statFs = new StatFs(anyPathInFs);
    long blockSize;
    long totalSize;
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
        blockSize = statFs.getBlockSizeLong();
        totalSize = statFs.getBlockCountLong();
    } else {
        blockSize = statFs.getBlockSize();
        totalSize = statFs.getBlockCount();
    }
    return blockSize * totalSize;
}
 
源代码10 项目: LockDemo   文件: SdCardUtil.java
/**
 * Get SD card info detail.
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public static SDCardInfo getSDCardInfo() {
    SDCardInfo sd = new SDCardInfo();
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        sd.isExist = true;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            File sdcardDir = Environment.getExternalStorageDirectory();
            StatFs sf = new StatFs(sdcardDir.getPath());

            sd.totalBlocks = sf.getBlockCountLong();
            sd.blockByteSize = sf.getBlockSizeLong();

            sd.availableBlocks = sf.getAvailableBlocksLong();
            sd.availableBytes = sf.getAvailableBytes();

            sd.freeBlocks = sf.getFreeBlocksLong();
            sd.freeBytes = sf.getFreeBytes();

            sd.totalBytes = sf.getTotalBytes();
        }
    }

        Log.i(TAG, sd.toString());

    return sd;
}
 
源代码11 项目: Dainty   文件: DownloadRecordActivity.java
private void refreshStorageStatus() {
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
        StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath());
        long blockSize = statFs.getBlockSizeLong();
        long totalBlocks = statFs.getBlockCountLong();
        long availableBlocks = statFs.getAvailableBlocksLong();
        String totalSize = Formatter.formatFileSize(this, blockSize * totalBlocks);
        String availableSize = Formatter.formatFileSize(this, blockSize * availableBlocks);
        textProgressBar.setTextAndProgress("内置存储可用:" + availableSize + "/共:" + totalSize, (int) ((float) availableBlocks / totalBlocks * 100));
    } else {
        textProgressBar.setTextAndProgress("内置存储不可用", 0);
    }
}
 
源代码12 项目: BlueBoard   文件: OkDownloadManager.java
public static long getTotalInternalMemorySize() {
    File path = Environment.getDataDirectory();
    StatFs stat = new StatFs(path.getPath());
    long blockSize = stat.getBlockSizeLong();
    long totalBlocks = stat.getBlockCountLong();
    return totalBlocks * blockSize;
}
 
源代码13 项目: FileManager   文件: DiskStat.java
private void calculateInternalSpace() {
    File root = Environment.getRootDirectory();
    StatFs sf = new StatFs(root.getPath());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        mInternalBlockSize = sf.getBlockSizeLong();
        mInternalBlockCount = sf.getBlockCountLong();
        mInternalAvailableBlocks = sf.getAvailableBlocksLong();
    } else {
        mInternalBlockSize = sf.getBlockSize();
        mInternalBlockCount = sf.getBlockCount();
        mInternalAvailableBlocks = sf.getAvailableBlocks();
    }
}
 
源代码14 项目: lrkFM   文件: DiskUtil.java
/**
 * Calculates occupied space on disk
 * @param external  If true will query external disk, otherwise will query internal disk.
 * @return Number of occupied mega bytes on disk.
 */
public static int busySpaceMebi(boolean external)
{
    StatFs statFs = getStats(external);
    long total = (statFs.getBlockCountLong() * statFs.getBlockSizeLong());
    long free  = (statFs.getAvailableBlocksLong() * statFs.getBlockSizeLong());
    long used = (total - free) / MEBIBYTE;
    Log.d(TAG, "used disk space: " + String.valueOf(used/ MEBIBYTE));
    return (int) used;
}
 
源代码15 项目: cronet   文件: ApiCompatibilityUtils.java
/**
 * See {@link android.os.StatFs#getBlockCount}.
 */
@SuppressWarnings("deprecation")
public static long getBlockCount(StatFs statFs) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        return statFs.getBlockCountLong();
    } else {
        return statFs.getBlockCount();
    }
}
 
源代码16 项目: Roid-Library   文件: RLAPICompat.java
public static long getBlockCount() {
    long size = 0;
    if (Environment.getExternalStorageDirectory() != null) {
        StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
        size = stat.getBlockCountLong();
    }
    return size;
}
 
源代码17 项目: cathode   文件: OkHttpUtils.java
public static long getCacheSize(File dir) {
  long size = CACHE_SIZE_MIN;

  try {
    StatFs statFs = new StatFs(dir.getAbsolutePath());
    long available;
    available = statFs.getBlockCountLong() * statFs.getBlockSizeLong();

    size = available / 50;
  } catch (IllegalArgumentException e) {
    // Ignore
  }

  return Math.max(Math.min(size, CACHE_SIZE_MAX), CACHE_SIZE_MIN);
}
 
源代码18 项目: HeroVideo-master   文件: CommonUtil.java
/**
 * 获取手机内部存储总空间
 *
 * @return
 */
public static long getPhoneTotalSize()
{

    if (!checkSdCard())
    {
        File path = Environment.getDataDirectory();
        StatFs mStatFs = new StatFs(path.getPath());
        long blockSizeLong = mStatFs.getBlockSizeLong();
        long blockCountLong = mStatFs.getBlockCountLong();
        return blockSizeLong * blockCountLong;
    } else
        return getSDcardTotalSize();
}
 
源代码19 项目: medic-android   文件: MedicAndroidJavascript.java
@org.xwalk.core.JavascriptInterface
@android.webkit.JavascriptInterface
public String getDeviceInfo() {
	try {
		if (activityManager == null) {
			return jsonError("ActivityManager not set. Cannot retrieve RAM info.");
		}

		if (connectivityManager == null) {
			return jsonError("ConnectivityManager not set. Cannot retrieve network info.");
		}

		String versionName = parent.getPackageManager()
				.getPackageInfo(parent.getPackageName(), 0)
				.versionName;
		JSONObject appObject = new JSONObject();
		appObject.put("version", versionName);

		String androidVersion = Build.VERSION.RELEASE;
		int osApiLevel = Build.VERSION.SDK_INT;
		String osVersion = System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")";
		JSONObject softwareObject = new JSONObject();
		softwareObject
				.put("androidVersion", androidVersion)
				.put("osApiLevel", osApiLevel)
				.put("osVersion", osVersion);

		String device = Build.DEVICE;
		String model = Build.MODEL;
		String manufacturer = Build.BRAND;
		String hardware = Build.HARDWARE;
		Map<String, String> cpuInfo = getCPUInfo();
		JSONObject hardwareObject = new JSONObject();
		hardwareObject
				.put("device", device)
				.put("model", model)
				.put("manufacturer", manufacturer)
				.put("hardware", hardware)
				.put("cpuInfo", new JSONObject(cpuInfo));

		File dataDirectory = Environment.getDataDirectory();
		StatFs dataDirectoryStat = new StatFs(dataDirectory.getPath());
		long dataDirectoryBlockSize = dataDirectoryStat.getBlockSizeLong();
		long dataDirectoryAvailableBlocks = dataDirectoryStat.getAvailableBlocksLong();
		long dataDirectoryTotalBlocks = dataDirectoryStat.getBlockCountLong();
		long freeMemorySize = dataDirectoryAvailableBlocks * dataDirectoryBlockSize;
		long totalMemorySize = dataDirectoryTotalBlocks * dataDirectoryBlockSize;
		JSONObject storageObject = new JSONObject();
		storageObject
				.put("free", freeMemorySize)
				.put("total", totalMemorySize);

		MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
		activityManager.getMemoryInfo(memoryInfo);
		long totalRAMSize = memoryInfo.totalMem;
		long freeRAMSize = memoryInfo.availMem;
		long thresholdRAM = memoryInfo.threshold;
		JSONObject ramObject = new JSONObject();
		ramObject
				.put("free", freeRAMSize)
				.put("total", totalRAMSize)
				.put("threshold", thresholdRAM);

		NetworkInfo netInfo = connectivityManager.getActiveNetworkInfo();
		JSONObject networkObject = new JSONObject();
		if (netInfo != null && Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
			NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
			int downSpeed = networkCapabilities.getLinkDownstreamBandwidthKbps();
			int upSpeed = networkCapabilities.getLinkUpstreamBandwidthKbps();
			networkObject
					.put("downSpeed", downSpeed)
					.put("upSpeed", upSpeed);
		}

		return new JSONObject()
				.put("app", appObject)
				.put("software", softwareObject)
				.put("hardware", hardwareObject)
				.put("storage", storageObject)
				.put("ram", ramObject)
				.put("network", networkObject)
				.toString();
	} catch(Exception ex) {
		return jsonError("Problem fetching device info: ", ex);
	}
}
 
源代码20 项目: OsmGo   文件: Device.java
private long getDiskTotal() {
  StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());
  return statFs.getBlockCountLong() * statFs.getBlockSizeLong();
}