6

我正在尝试检查应用程序内部存储的子目录中是否存在 zip:

File file = this.getApplicationContext().getFileStreamPath(this.getFilesDir().getAbsolutePath() + "/thesubdirectory/the.zip";
if(file.exists()) {
    Log.e(this.class.getName(), "file exists");
}

这是抛出一个java.lang.IllegalArgumentException: File /data/data/my.package.name/files/thesubdirectory/the.zip contains a path separator.

为什么会这样?我认为这是您应该检查文件是否存在的方式。

4

1 回答 1

8

file.exists 是。但是 getFileStreamPath 不能采用路径,它需要在该目录中采用文件名。试试这个:

File file = new File(this.getFilesDir().getAbsolutePath() + "/thesubdirectory/the.zip");
于 2013-01-20T06:02:22.637 回答