Android文件始终作为目录创建

时间:2016-06-17 16:14:45

标签: android file filenotfoundexception

当我尝试在Android应用中创建内部文件时,创建的文件始终是一个目录。我看到了一个类似的帖子,显然他们解决问题的方法是在文件的父目录上调用mkdirs()。但是,这对我没有用。我尝试在文件名称的开头添加斜杠,之后添加斜杠,同时执行这两项操作,我还尝试在文件中添加.txt等扩展名名称。无论我做什么,生成的文件始终是一个目录,而不是一个可写或可读的文件。下面的代码位于我的主要活动类中,因此getFilesDir()调用。

import java.io.File;
import java.io.IOException;

// always logs "false"
public void createFile() {
  File file = new File(getFilesDir(), "myFile");

  try {
    file.createNewFile();
    Log.i("" + file.isFile())
  } catch (IOException e) {
    Log.e("The file might no exist.")
  }
}

2 个答案:

答案 0 :(得分:1)

根据File构造函数(here

的文档
  

子路径名字符串用于表示目录或文件。

因此,如果您的文件名没有扩展名,那么它将被创建为目录

答案 1 :(得分:0)

结果createNewFile()什么也没做,因为我第一次测试代码时已经将文件创建为目录。从那时起,我只是引用了我每次运行时创建的文件夹。我在文件上调用delete()一次后,再次使用名称中的扩展名创建文件。