我正在尝试使用以下代码在/ storage / emulated / 0 / Pictures下创建目录:
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() + "/newDirectory");
boolean success = false;
if(!outputDir.exists()){
success = outputDir.mkdirs();
}
if(success == true){
Log.d(TAG, "file created");
}
我无法理解错误是什么,因为我在此阶段没有收到任何错误或异常,但是没有创建目录。可以帮忙吗?
答案 0 :(得分:2)
试试这个:
String folder_root = "Pictures";
File f = new File(Environment.getExternalStorageDirectory(), folder_root);
if (!f.exists()) {
f.mkdirs();
}
File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_root, "yourDirectoryName");
if (!f1.exists()) {
f1.mkdirs();
}
在您的清单添加权限
中<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
对于Api> 23,您还需要运行时权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0);
答案 1 :(得分:0)
您如何尝试记录file.getAbsolutePath();
以查看路径是否正确?
其次,您的代码不完整,因为您的第一行是错误。
试试这个:
File directory = new File(Environment.getExternalStorageDirectory(Environment.DIRECTORY_PICTURES)+File.separator+"pictures");
directory.mkdirs();
确保您的权限已设置。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />