Android 无法创建文件夹并将文件放入此文件夹中
我想创建一个文件夹并将所有生成的文件放在此文件夹中,因此我创建了此方法以在外部存储器中创建名为Android 无法创建文件夹并将文件放入此文件夹中,android,android-file,Android,Android File,我想创建一个文件夹并将所有生成的文件放在此文件夹中,因此我创建了此方法以在外部存储器中创建名为MyAppFolder的目录,并将.nomedia文件放在此文件夹中,以避免媒体索引 static String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); static String baseAppDir = "MyAppFolder"; static String fileHider = ".nomed
MyAppFolder
的目录,并将.nomedia
文件放在此文件夹中,以避免媒体索引
static String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
static String baseAppDir = "MyAppFolder";
static String fileHider = ".nomedia";
public static void createFolder() {
try {
File mainDirectory = new File(baseDir + File.separator + baseAppDir);
if (!(mainDirectory.exists())) {
mainDirectory.mkdirs();
File outputFile = new File(mainDirectory, fileHider);
try {
FileOutputStream fos = new FileOutputStream(outputFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
} catch (Exception exc) {
System.out.println("ERROR: " + exc.toString());
exc.printStackTrace();
}
}
我正在emulator上测试它,但不起作用,我不知道该如何修复它
错误日志为:
java.io.FileNotFoundException: /storage/sdcard/MyAppFolder/.nomedia: open failed: ENOENT (No such file or directory)
02-12 20:11:51.758 4899-4899/com.myapp.testapp W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:409)
at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
02-12 20:11:51.758 4899-4899/com.myapp.testapp W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
02-12 20:11:51.758 4899-4899/com.myapp.testapp W/System.err﹕ at com.myapp.testapp.MyFileManager.createFolder(MyFileManager.java:272)
来自的相同结果告诉您应该执行以下操作。它确实声明,如果FileOutputStream不存在,它应该能够创建,但如果失败,它将抛出异常,因此最好执行以下操作。我想这是一个更可靠的消防方式,它会工作吗?我不知道。试试看!:-)
确保你得到许可
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
键入“ls-a”以检查是否确实创建了隐藏文件。有时不要100%信任异常日志。谢谢您的回答,请参阅编辑中的“我的尝试”。。还是一样的结果啊。应该有一个新的答案-P
File yourFile = new File("score.txt");
if(!yourFile.exists()) {
yourFile.createNewFile();
}
FileOutputStream oFile = new FileOutputStream(yourFile, false);
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
static String baseAppDir = ".MyAppFolder";
static String fileHider = "nomedia";