Android SD卡工具類
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(); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!