1

尝试在 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, 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" />

文件编写器位于外部项目/库中......如果这在任何情况下都有用。

我想这是一个简单的错误,但老实说,我不知道这里出了什么问题。

提前致谢。

4

2 回答 2

0

/mnt/sdcard/folder/midifiles/file.mid您正在创建目录

f.mkdirs();

你应该这样做:

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; 
}
于 2011-12-14T16:39:53.020 回答
0

你在手机上运行这个吗?或连接到您的电脑?因为它可能正在您的电脑上查看。

于 2011-12-14T17:04:15.783 回答