Ich weiß nicht, warum in meinem Fall dieser Code eine neue Datei erstellt.
nirgendwo
Wie kann ich auch einen Unterordner einchecken?
Pratik Butani
4
Dies ist ähnlich, da es keine statische Methode gibt: File.exists (String-Datei). Sie müssen also ein neues File-Objekt instanziieren, um auf die 'Exists'-Methode zuzugreifen.
Giova
3
Ich denke, OP möchte kein neues Dateiobjekt erstellen.
AndroDev
1
@AndroDev nein - er möchte keine neue DATEI erstellen, die Antwort erstellt eine neue REFERENZ für die Datei.
Marian Paździoch
31
Wenn Sie diesen Code verwenden, erstellen Sie keine neue Datei, sondern erstellen lediglich eine Objektreferenz für diese Datei und testen, ob sie vorhanden ist oder nicht.
Dies ist die Lösung, wenn Sie nur den Dateinamen und nicht seinen Pfad haben
Zach
1
@Zach Nicht wirklich, sein Pfad wäre der erste Parameter, den ich gesendet habe (getApplicationContext (). GetFilesDir ())
Jordi Vicens
8
Wenn Sie "in Ihrem Paketordner" sagen, meinen Sie damit Ihre lokalen App-Dateien? In diesem Fall können Sie eine Liste mit der Context.fileList () -Methode abrufen . Durchlaufen Sie einfach und suchen Sie nach Ihrer Datei. Vorausgesetzt, Sie haben die Originaldatei mit Context.openFileOutput () gespeichert .
Die methodsin der Path-Klasse sind syntaktisch, was bedeutet, dass sie auf der Path-Instanz ausgeführt werden. Schließlich müssen Sie jedoch auf das fileSystem zugreifen , um zu überprüfen, ob ein bestimmter Pfad vorhanden ist
File file =newFile("FileName");if(file.exists()){System.out.println("file is already there");}else{System.out.println("Not find file ");}
Antworten:
Ihr Codeabschnitt erstellt keinen neuen, sondern prüft nur, ob er bereits vorhanden ist und sonst nichts.
quelle
Wenn Sie diesen Code verwenden, erstellen Sie keine neue Datei, sondern erstellen lediglich eine Objektreferenz für diese Datei und testen, ob sie vorhanden ist oder nicht.
quelle
Es hat bei mir funktioniert:
quelle
Wenn Sie "in Ihrem Paketordner" sagen, meinen Sie damit Ihre lokalen App-Dateien? In diesem Fall können Sie eine Liste mit der Context.fileList () -Methode abrufen . Durchlaufen Sie einfach und suchen Sie nach Ihrer Datei. Vorausgesetzt, Sie haben die Originaldatei mit Context.openFileOutput () gespeichert .
Beispielcode (in einer Aktivität):
quelle
Die
methods
in der Path-Klasse sind syntaktisch, was bedeutet, dass sie auf der Path-Instanz ausgeführt werden. Schließlich müssen Sie jedoch auf dasfile
System zugreifen , um zu überprüfen, ob ein bestimmter Pfad vorhanden istquelle
quelle
Kotlin-Erweiterungseigenschaften
Wenn Sie ein Dateiobjekt erstellen, wird keine Datei erstellt, sondern nur eine Schnittstelle.
Um das Arbeiten mit Dateien zu vereinfachen, gibt es
.toFile
in Uri eine vorhandene FunktionSie können auch eine Erweiterungseigenschaft für Datei und / oder Uri hinzufügen, um die Verwendung weiter zu vereinfachen.
Dann benutzen Sie einfach
uri.exists
oderfile.exists
, um zu überprüfen.quelle