我正在尝试使用此代码创建一个新文件,但我遇到了“ java.io.IOException:打开失败:ENOENT(无此类文件或目录)”
这是我的代码:希望您能为我提供帮助。
final File f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath() + "/"
+ MainActivity.getContext().getPackageName() + "/wifip2pshared-" + System.currentTimeMillis()
+ ".jpg");
Log.d("WIFI","file created :"+f.getAbsolutePath());
File dirs = new File(f.getParent());
Log.d("WIFI","dir created :"+dirs.getAbsolutePath());
dirs.mkdirs();
f.createNewFile();
我确实在android清单中声明了权限。
答案 0 :(得分:2)
将此添加到清单应用程序中
android:requestLegacyExternalStorage="true"
答案 1 :(得分:0)
如果您使用的是Android M或更高版本,请处理运行时权限
File folder = new File(Environment.getExternalStorageDirectory() +
File.separator + "wifip2pshared/" + dirName);
boolean success = true;
if (!folder.exists()) {
success = folder.mkdirs();
}
if (success) {
// Do something on success
} else {
// Do something else on failure
File dir = new File("storage/emulated/0/wifip2pshared/" + dirName);
try {
if (!dir.exists()) {
if (dir.mkdir()) {
System.out.println("Directory created");
} else {
System.out.println("Directory is not created");
}
}
} catch (Exception e) {
e.printStackTrace();
}