当前位置: 代码迷 >> Android >> 安卓工具类->SD卡相关的辅助类
  详细解决方案

安卓工具类->SD卡相关的辅助类

热度:70   发布时间:2016-04-28 02:23:48.0
安卓工具类------>SD卡相关的辅助类
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();	}}

  相关解决方案