1 //獲取外部存儲路徑 api 29以下可以用這種方式在根目錄 創建文件夾 2 String storage = Environment.getExternalStorageDirectory().getPath() + "/register"; 3 File dirFile = new File(storage); 4 Log.d("dirFile", "" + dirFile); 5 if (!dirFile.exists()) { 6 boolean mkdirs = dirFile.mkdirs(); 7 if (!mkdirs) { 8 Log.e("TAG", "文件夾創建失敗"); 9 } else { 10 Log.e("TAG", "文件夾創建成功"); 11 } 12 }
注意添加權限
<!--外部存儲的寫權限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--外部存儲的讀權限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Android 10 的創建方式
//該方式由於谷歌在android 10 開始不允許在根目錄下創建路徑 所以 //只能在/storage/emulated/0/Android/data/包名/files 此目錄下創建 String path=getContext().getExternalFilesDir(null).getAbsolutePath(); File dirFile = new File(path); if (!dirFile.exists()) { boolean mkdirs = dirFile.mkdirs(); if (!mkdirs) { Log.i(TAG, "創建:" + mkdirs); } else { Log.i(TAG, "創建成功"); } }
一定要在根目錄創建,就將targetSdkVersion 改為28