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