为什么我不能在内部目录中创建文件?
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()
。
我正在尝试通过以下方式创建新文件:
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()
。