我试图检查应用程序内部存储中的子目录中是否存在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
。
为什么会这样?我认为这是应检查文件是否存在的方式。
答案 0 :(得分:8)
file.exists是。但getFileStreamPath无法获取路径,需要在该目录中获取文件名。试试这个:
File file = new File(this.getFilesDir().getAbsolutePath() + "/thesubdirectory/the.zip");