FileNotFoundException:创建子文件夹而不是文件

时间:2018-05-20 04:36:22

标签: java android file

我刚刚开始使用Android处理文件,并且整天都在拔头发。这会抛出FileNotFoundException:

public void writeConfig(){
            try {
                File file = new File(Environment.getExternalStorageDirectory() + "/" + "AppName", "TimetableConfiguration");
                if (!file.mkdirs()) {
                    P.rint("Couldn't create directory");
                }
            FileOutputStream fileOutputStream = new FileOutputStream(file);
            fileOutputStream.write(getActivity().getSharedPreferences("periods", MODE_PRIVATE).getString("periods", null).getBytes());
            fileOutputStream.close();
            } catch (FileNotFoundException e) {
                P.rint("Didn't find file");
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

有什么想法吗? 我注意到它不是创建文件,而是创建子文件夹。它为什么这样做? 感谢您的帮助:))

1 个答案:

答案 0 :(得分:0)

  

FileNotFoundException:创建子文件夹而不是文件

是。这就是你做的。

首先使用mkdirs()创建一个具有特定名称的目录。

之后,您尝试创建一个具有相同名称的文件,这是不可能的,因为不能有两个同名文件或目录。

所以看看你会找到那个目录。

你自己已经推断了大部分。现在尝试理解你的代码。

  

if(!file.mkdirs()){                       P.rint("无法创建目录");

每次重复代码时都会看到打印出来。你也应该看到这个。并告诉我们。

如果目录尚不存在,则只应调用mkdirs。

相关问题