Potrzebuję prawidłowej metody, aby sprawdzić, czy a String
reprezentuje ścieżkę do pliku lub katalogu. Jakie są prawidłowe nazwy katalogów w systemie Android? Jak się okazuje, nazwy folderów mogą zawierać '.'
znaki, więc jak system rozumie, czy istnieje plik czy folder?
141
Odpowiedzi:
Zakładając, że
path
jest twójString
.Zobacz
File
JavadocLub możesz skorzystać z klasy NIO
Files
i sprawdzić takie rzeczy:źródło
path
w moim przykładzie jestString
. Dlaczego nie możesz utworzyćFile
instancji? Zauważ, że nie zmieni to niczego w systemie plików.root
może to być plik. Pliki nie muszą mieć.something
rozszerzenia.Czyste rozwiązanie pozostając przy nio API:
źródło
File
każdym razem nowego obiektu. Oszczędza pamięćProszę trzymać się interfejsu API nio, aby przeprowadzić te testy
źródło
źródło
Nie ma sposobu, aby system powiedzieć, czy
String
reprezentujęfile
lubdirectory
, jeżeli nie istnieje w systemie plików. Na przykład:I na poniższy przykład:
Widzimy więc, że w obu przypadkach system zwrócił fałsz. Dotyczy to obu
java.io.File
ijava.nio.file.Path
źródło
Aby sprawdzić, czy ciąg reprezentuje ścieżkę lub plik programowo, należy użyć metod API, takich jak
isFile(), isDirectory().
Wydaje mi się, że wpisy plików i folderów są przechowywane w strukturze danych i są zarządzane przez system plików.
źródło
źródło
Aby odpowiedzieć bezpośrednio na pytanie.
źródło