清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
Android的manifest.xml文档中声名权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
判断SDcard是否可以用
public static boolean isSdCardExists() { if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) { return true; } else { Log.e(" ", "the Sdcard is not exists"); return false; } }
获取SD卡总大小
public static String getSdCardTotalSize() { if (!isSdCardExists()) return ""; File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long availableBlocks = stat.getBlockCount(); return String.valueOf((availableBlocks * blockSize) / 1024 / 1024); }
获取SD卡可用大小
public static String getSdcardAvailbleSize() { if (!isSdCardExists()) return ""; File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long availableBlocks = stat.getAvailableBlocks(); return String.valueOf((availableBlocks * blockSize) / 1024 / 1024); }
获取根目录路径
public static String getRootPath() { if (!isSdCardExists()) return ""; return Environment.getExternalStorageDirectory().getPath(); }
获取根目录文件列表
public static File[] getRootFiles() { if (getRootPath().equals("")) return null; List<File> files = new ArrayList<File>(); File file = new File(getRootPath()); return file.listRoots(); }