zoukankan      html  css  js  c++  java
  • SD卡操作相关的工具SDCardUtils

    SD卡操作相关的工具

    package com.flyou.utils;
    
    import java.io.File;
    
    import android.os.Environment;
    import android.os.StatFs;
    
    /**
     * SD卡相关的辅助类
     * 
     * 
     * 
     */
    public class SDCardUtils
    {
    	private SDCardUtils()
    	{
    		/* cannot be instantiated */
    		throw new UnsupportedOperationException("cannot be instantiated");
    	}
    
    	/**
    	 * 推断SDCard是否可用
    	 * 
    	 * @return
    	 */
    	public static boolean isSDCardEnable()
    	{
    		return Environment.getExternalStorageState().equals(
    				Environment.MEDIA_MOUNTED);
    
    	}
    
    	/**
    	 * 获取SD卡路径
    	 * 
    	 * @return
    	 */
    	public static String getSDCardPath()
    	{
    		return Environment.getExternalStorageDirectory().getAbsolutePath()
    				+ File.separator;
    	}
    
    	/**
    	 * 获取SD卡的剩余容量 单位byte
    	 * 
    	 * @return
    	 */
    	public static long getSDCardAllSize()
    	{
    		if (isSDCardEnable())
    		{
    			StatFs stat = new StatFs(getSDCardPath());
    			// 获取空暇的数据块的数量
    			long availableBlocks = (long) stat.getAvailableBlocks() - 4;
    			// 获取单个数据块的大小(byte)
    			long freeBlocks = stat.getAvailableBlocks();
    			return freeBlocks * availableBlocks;
    		}
    		return 0;
    	}
    
    	/**
    	 * 获取指定路径所在空间的剩余可用容量字节数。单位byte
    	 * 
    	 * @param filePath
    	 * @return 容量字节 SDCard可用空间,内部存储可用空间
    	 */
    	public static long getFreeBytes(String filePath)
    	{
    		// 假设是sd卡的下的路径,则获取sd卡可用容量
    		if (filePath.startsWith(getSDCardPath()))
    		{
    			filePath = getSDCardPath();
    		} else
    		{// 假设是内部存储的路径,则获取内存存储的可用容量
    			filePath = Environment.getDataDirectory().getAbsolutePath();
    		}
    		StatFs stat = new StatFs(filePath);
    		long availableBlocks = (long) stat.getAvailableBlocks() - 4;
    		return stat.getBlockSize() * availableBlocks;
    	}
    
    	/**
    	 * 获取系统存储路径
    	 * 
    	 * @return
    	 */
    	public static String getRootDirectoryPath()
    	{
    		return Environment.getRootDirectory().getAbsolutePath();
    	}
    
    
    }
    


  • 相关阅读:
    iterm2 Mac 常用快捷键
    软件测试:测试方法
    maccms(苹果cms)采集过程报错--MySQL server has gone away错误的解决办法
    ArrayLIst的使用
    hashmap的使用
    hashset机LinkedHashSet的使用
    java集合Collection总结
    maxPostSize属性改变tomcat的post请求的请求体大小设置
    postman中 form-data、x-www-form-urlencoded、raw、binary的区别
    用synchronized关键字及concurrent.locks解决线程并发问题
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6849042.html
Copyright © 2011-2022 走看看