为什么我无法在内部目录中创建文件?

时间:2015-02-17 15:13:28

标签: java android file-io

我正在尝试通过以下方式创建新文件:

File file = new File(this.getFilesDir(), "test.tmp");

之后我有以下代码:

try {
      fis = new BufferedInputStream(new FileInputStream(file));
      ObjectInputStream ois = new ObjectInputStream(fis);

      ..... other not important code

它会引发以下错误:

android.system.ErrnoException: open failed: ENOENT (No such file or directory)

关于这一行:

fis = new BufferedInputStream(new FileInputStream(file));

File file = new File(this.getFilesDir(), "test.tmp");是不是应该创建文件?

你能告诉我一个线索吗?我知道我在这里错过了一个小而重要的部分,但我无法发现它。

1 个答案:

答案 0 :(得分:3)

  

Isn&#t; t file file = new File(this.getFilesDir()," test.tmp");应该创建文件吗?

没有。它创建了一个Java对象,即类File的一个实例。它对文件系统没有影响。

exists()对象上使用File查看文件是否存在。或者,如果由于某种原因您想要空文件,请在createNewFile()对象上调用File