下面正式開始介紹,先是獲取SD卡根目錄的方法:
添加權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
1
2
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
//為真則SD卡已裝入,
sdCardExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}
if(sdCardExist)
{
sdDir = Environment.getExternalStorageDirectory();//獲取跟目錄
//查找SD卡根路徑
sdDir.toString();
Log.e("main","得到的根目錄路徑:"+sdDir);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
打印Log:
博主打開手機文件管理器首先來到的所在頁面就是這個路徑,只是手機上不會顯示這個路徑
另外一個更靈活的獲取外部路徑的方法:
File directory_doc = Environment.getExternalStoragePublicDirectory(Environment. DIRECTORY_DOCUMENTS);
//使用這個方法需要傳入公共目錄的類型如Environment.DIRECTORY_DOCUMENTS
//查看公共目錄文檔文件的路徑
Log.e("main","得到的公共目錄:"+directory_doc);
1
2
3
4
獲取路徑的其他方法;
方法 描述
DIRECTORY_DOCUMENTS 標准文件目錄,可以是用戶自定義創建的。Standard directory in which to place documents that have been created by the user.
DIRECTORY_DOWNLOADS 下載目錄. Standard directory in which to place files that have been downloaded by the user.
DIRECTORY_MOVIES 影視目錄.Standard directory in which to place movies that are available to the user.
DIRECTORY_MUSIC 音樂目錄.Standard directory in which to place any audio files that should be in the regular list of music for the user.
DIRECTORY_PICTURES 用戶可以獲得的圖片目錄.Standard directory in which to place pictures that are available to the user.
更多內容:https://developer.android.com/reference/android/os/Environment
當你有多個外部存儲卡:
File[] files;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);
for(File file:files){
Log.e("main", "得到的全部外存:" +String.valueOf(file));
//便歷所有外部存儲
}
}
1
2
3
4
5
6
7
8
9
10
這里由於博主手機只有一個sd卡,所以只打印了一行路徑
1
2
得到內存:
File internal=getFilesDir();
Log.e("main","內存路徑:"+internal);
---------------------