Chcę sprawdzić, czy plik istnieje w folderze mojego pakietu, ale nie chcę tworzyć nowego.
File file = new File(filePath);
if(file.exists())
return true;
Czy ten kod sprawdza się bez tworzenia nowego pliku?
Chcę sprawdzić, czy plik istnieje w folderze mojego pakietu, ale nie chcę tworzyć nowego.
File file = new File(filePath);
if(file.exists())
return true;
Czy ten kod sprawdza się bez tworzenia nowego pliku?
Odpowiedzi:
Twój fragment kodu nie tworzy nowego, sprawdza tylko, czy już tam jest i nic więcej.
File file = new File(filePath);
if(file.exists())
//Do something
else
// Do something else.
Kiedy używasz tego kodu, nie tworzysz nowego pliku, po prostu tworzymy odwołanie do obiektu dla tego pliku i testujemy, czy istnieje.
File file = new File(filePath);
if(file.exists())
//do something
To działało dla mnie:
File file = new File(getApplicationContext().getFilesDir(),"whatever.txt");
if(file.exists()){
//Do something
}
else{
//Nothing
}
Kiedy mówisz „w swoim folderze pakietu”, masz na myśli lokalne pliki aplikacji? Jeśli tak, możesz uzyskać ich listę za pomocą metody Context.fileList () . Po prostu iteruj i poszukaj swojego pliku. Zakłada się, że zapisałeś oryginalny plik za pomocą Context.openFileOutput () .
Przykładowy kod (w działaniu):
public void onCreate(...) {
super.onCreate(...);
String[] files = fileList();
for (String file : files) {
if (file.equals(myFileName)) {
//file exits
}
}
}
methods
W klasie ścieżce składniowym, co oznacza, że działają one na przykład Path. Ale ostatecznie musisz uzyskać dostęp do file
systemu, aby sprawdzić, czy istnieje konkretna Ścieżka
File file = new File("FileName");
if(file.exists()){
System.out.println("file is already there");
}else{
System.out.println("Not find file ");
}
Po utworzeniu obiektu File nie zostanie utworzony żaden plik, jest to tylko interfejs.
Aby ułatwić pracę z plikami, .toFile
w Uri istnieje istniejąca funkcja
Możesz także dodać właściwość rozszerzenia do pliku i / lub Uri, aby jeszcze bardziej uprościć korzystanie.
val File?.exists get() = this?.exists() ?: false
val Uri?.exists get() = File(this.toString).exists()
Następnie użyj uri.exists
lub, file.exists
aby sprawdzić.