W mojej aplikacji Java zmieniam nazwę pliku na nazwę pliku podaną w parametrze String. Jest to metodaJava - Jak sprawdzić, czy nazwa pliku jest poprawna?
boolean OKtoRename(String oldName, String newName)
które zasadniczo sprawdza, czy newName nie jest już zajęta przez innego pliku, a nie chciałbym, aby pochować istniejących.
Teraz przyszło mi do głowy, że być może ciąg newName nie będzie oznaczać prawidłowej nazwy pliku. Więc pomyślałem, aby dodać tę kontrolę metody:
if (new File(newName).isFile()) {
return false;
}
co oczywiście nie jest właściwym sposobem, aby to zrobić, ponieważ w większości przypadków newfile jeszcze nie istnieje i dlatego chociaż jest OKtoRename The funkcja zwraca wartość false.
Zastanawiam się, czy istnieje metoda (wiem, że nie ma obiektów java.io.File) jak canExist()
? Czy musiałbym uciekać się do regex, aby upewnić się, że ciąg newFile nie zawiera niepoprawnych znaków (np.?, *, ", :)? Zastanawiam się, czy jest prawdopodobnie funkcja ukryta gdzieś w JDK, która powie mi, czy ciąg znaków mogłaby oznaczać poprawną nazwę pliku.
proszę, nie więcej istnieje() odpowiedzi, to nie jest pomocne. Próbuję sprawdzić, czy plik MOŻE istnieć. –
@MasterPeter: Spróbuj przerobić swoje pytanie. Wygląda tak, jakbyś chciał wiedzieć, czy plik istnieje, kiedy to, czego potrzebujesz, to wiedzieć, czy plik NAZWA jest poprawny. Zmieniłem tytuł, ale nie dotknąłem tekstu pytania. – OscarRyz
Wydaje się istotne: http://eng-przemelek.blogspot.com/2009/07/how-to-create-valid-file-name.html – greenoldman