Android 无法在SD卡上写入文件(是目录)
尝试在Android SD卡上写入midi文件时出现以下错误:Android 无法在SD卡上写入文件(是目录),android,file,sd-card,writer,Android,File,Sd Card,Writer,尝试在Android SD卡上写入midi文件时出现以下错误: 12-14 16:22:22.219: ERROR/Thread writer(1108): java.io.FileNotFoundException: /mnt/sdcard/folder/midifiles/file.mid (Is a directory) in /mnt/sdcard/folder/midifiles/ 这就是相关代码: public void writeFile(String filename, Str
12-14 16:22:22.219: ERROR/Thread writer(1108): java.io.FileNotFoundException: /mnt/sdcard/folder/midifiles/file.mid (Is a directory) in /mnt/sdcard/folder/midifiles/
这就是相关代码:
public void writeFile(String filename, String dir, int bpm) throws Exception {
File f = new File(dir,filename);
if(!f.exists()) {
f.mkdirs();
if(!f.createNewFile()) {
return;
}
}
FileOutputStream fos = new FileOutputStream(f);
我正在通过接收路径
Environment.getExternalStorageDirectory()
相关许可也包括在内
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
文件编写器位于外部项目/库中。。。如果这是在任何情况下有用的知道
我想这是一个简单的错误,但我真的不知道这里出了什么问题
提前感谢。您正在使用创建目录/mnt/sdcard/folder/midifiles/file.mid 你应该做:
File f = new File(dir);
if(!f.exists()) {
f.mkdirs();
File f1 = new File(dir,filename);
if(!f1.createNewFile()) {
return;
}
}
或者只是
File f = new File(dir,filename);
if(!f.exist()) {
f.createNewFile();
return;
}
你在手机上运行这个吗?或连接到您的电脑?因为它可能正在您的电脑上查看。您的sd卡上/mnt/sdcard/folder/midifiles/目录中是否有文件夹file.mid?这对我不适用。该死的东西根本不知道给定的路径包含文件名,但它在正确的路径中创建了一个文件夹,文件名作为设备上的文件夹名。抱歉,不要跟随,你是要单独创建目录还是只运行createNewFile?用你现在尝试的代码更新你的问题,我相信我们可以解决它
File f = new File(dir,filename);
if(!f.exist()) {
f.createNewFile();
return;
}