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