为什么我不能在内部目录中创建文件?

Why I can't create a file in the internal directory?

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

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"); 不是应该创建文件吗?

你能给我一个线索吗?我知道我在这里遗漏了一个很小但很重要的部分,但我无法发现它。

Isn't File file = new File(this.getFilesDir(), "test.tmp"); supposed to create the file?

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

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