清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
Android的manifest.xml文档中声名权限:
1 2 | <uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name= "android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
判断SDcard是否可以用
1 2 3 4 5 6 7 8 9 | 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卡总大小
1 2 3 4 5 6 7 8 9 | 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卡可用大小
1 2 3 4 5 6 7 8 9 | 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 ); } |
获取根目录路径
1 2 3 4 5 | public static String getRootPath() { if (!isSdCardExists()) return "" ; return Environment.getExternalStorageDirectory().getPath(); } |
获取根目录文件列表
1 2 3 4 5 6 7 | public static File[] getRootFiles() { if (getRootPath().equals( "" )) return null ; List<File> files = new ArrayList<File>(); File file = new File(getRootPath()); return file.listRoots(); } |