2013-01-20 5 views
5

Ich versuche, ob ein zip in einem Unterverzeichnis internen Speicher der in der Anwendung besteht zu überprüfen:Illegal: Datei enthält Pfadseparator

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

ein java.lang.IllegalArgumentException: File /data/data/my.package.name/files/thesubdirectory/the.zip contains a path separator Dies wirft.

Warum passiert das? Ich dachte, das war die Art, wie Sie überprüfen sollten, ob eine Datei existiert.

Antwort

8

datei.exists ist. Aber getFileStreamPath kann keinen Pfad nehmen, er muss einen Dateinamen in diesem Verzeichnis haben. Versuchen Sie Folgendes:

File file = new File(this.getFilesDir().getAbsolutePath() + "/thesubdirectory/the.zip");