Ich möchte überprüfen, ob eine Datei in meinem Paketordner vorhanden ist, aber ich möchte keine neue erstellen.
File file = new File(filePath);
if(file.exists())
return true;
Prüft dieser Code, ohne eine neue Datei zu erstellen?
Ich möchte überprüfen, ob eine Datei in meinem Paketordner vorhanden ist, aber ich möchte keine neue erstellen.
File file = new File(filePath);
if(file.exists())
return true;
Prüft dieser Code, ohne eine neue Datei zu erstellen?
Antworten:
Ihr Codeabschnitt erstellt keinen neuen, sondern prüft nur, ob er bereits vorhanden ist und sonst nichts.
File file = new File(filePath);
if(file.exists())
//Do something
else
// Do something else.
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.
File file = new File(filePath);
if(file.exists())
//do something
Es hat bei mir funktioniert:
File file = new File(getApplicationContext().getFilesDir(),"whatever.txt");
if(file.exists()){
//Do something
}
else{
//Nothing
}
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):
public void onCreate(...) {
super.onCreate(...);
String[] files = fileList();
for (String file : files) {
if (file.equals(myFileName)) {
//file exits
}
}
}
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 das file
System zugreifen , um zu überprüfen, ob ein bestimmter Pfad vorhanden ist
File file = new File("FileName");
if(file.exists()){
System.out.println("file is already there");
}else{
System.out.println("Not find file ");
}
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 Funktion
Sie können auch eine Erweiterungseigenschaft für Datei und / oder Uri hinzufügen, um die Verwendung weiter zu vereinfachen.
val File?.exists get() = this?.exists() ?: false
val Uri?.exists get() = File(this.toString).exists()
Dann benutzen Sie einfach uri.exists
oder file.exists
, um zu überprüfen.