Pobieranie nazw plików wszystkich plików w folderze [duplikat]
Możliwy duplikat:
odczyt wszystkich plików w folderze
Muszę utworzyć listę ze wszystkimi nazwami plików w folderze.
Na przykład, jeśli mam:
000.jpg
012.jpg
013.jpg
Chcę je przechowywać w ArrayList
z [000,012,013]
jako wartości.
Jak najlepiej to zrobić w Javie ?
PS: jestem na Mac OS X
3 answers
Możesz to zrobić w ten sposób:
File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
Czy chcesz pobierać tylko pliki JPEG lub wszystkie pliki?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-24 07:27:23
Create a File
obiekt, przekazujący ścieżkę katalogu do konstruktora. Użyj listFiles()
, Aby pobrać tablicę obiektów {[1] } dla każdego pliku w katalogu, a następnie wywołaj metodę getName()
, Aby uzyskać nazwę pliku.
List<String> results = new ArrayList<String>();
File[] files = new File("/path/to/the/directory").listFiles();
//If this pathname does not denote a directory, then listFiles() returns null.
for (File file : files) {
if (file.isFile()) {
results.add(file.getName());
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-14 17:59:36
Oto jak szukać w dokumentacji .
Po pierwsze, masz do czynienia z IO, więc spójrz w java.io
pakiet .
Istnieją dwie klasy, które wyglądają interesująco: FileFilter i FileNameFilter . Kiedy kliknąłem na pierwszy, pokazało mi to, że w klasie listFiles()
Pliku istnieje metoda alistFiles()
. A dokumentacja tej metody mówi:
Zwraca tablicę abstrakcyjnych nazw ścieżek oznaczanie plików w katalogu oznaczona tą abstrakcyjną nazwą ścieżki.
Przewijając się w JavaDoc, widzę konstruktory. I to naprawdę wszystko, czego potrzebuję, aby móc utworzyć File
instancję i wywołać listFiles()
na niej. Przewijając dalej, widzę pewne informacje o tym, jak pliki są nazywane w różnych systemach operacyjnych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-07 00:34:09