Получение имен файлов всех файлов в папке

Возможный дубликат:
Прочитать все файлы в папке

Мне нужно создать список со всеми именами файлов в папке.

Например, если у меня есть:

000.jpg 012.jpg 013.jpg 

Я хочу сохранить их в ArrayList с [000,012,013] качестве значений.

Каков наилучший способ сделать это на Java?

PS: Я нахожусь в Mac OS X

Вы можете сделать это так:

 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()); } } 

Вы хотите получать файлы JPEG или все файлы?

Создайте объект File , передав путь директории к конструктору. Используйте listFiles() для извлечения массива объектов File для каждого файла в каталоге, а затем вызовите метод getName() чтобы получить имя файла.

 List results = new ArrayList(); 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()); } } 

Вот как посмотреть в документации .

Во-первых, вы имеете дело с IO, поэтому загляните в пакет java.io

Есть два classа, которые выглядят интересными: FileFilter и FileNameFilter . Когда я нажал на первый, он показал мне, что в classе File был метод aa listFiles() . И документация для этого метода говорит:

Возвращает массив абстрактных путей, обозначающих файлы в каталоге, обозначенные этим абстрактным именем пути.

Прокручивая File JavaDoc, я вижу конструкторы. И это действительно все, что мне нужно, чтобы создать экземпляр File и вызвать listFiles() на нем. Прокручивая еще дальше, я могу увидеть некоторую информацию о том, как файлы называются в разных операционных системах.

Interesting Posts

Генерация последовательности в последовательности

Какие функции C99 доступны в компиляторе MS Visual Studio?

Информация о сокращении даты Java

Почему не удается выполнить внутриуровневые тесты кода, чтобы найти ресурсы пакета?

Скрыть адрес электронной почты отправителя при отправке от имени

Различные CURRENT_TIMESTAMP и SYSDATE в oracleе

Как отобразить диалоговое окно предупреждения на Android?

Как получить доступ (или переключиться между) значками лотков с ярлыком в окнах?

Почему sizeof считается оператором?

Справка относительно события onClick () для элемента пользовательской строки списка ListView

Если JavaScript имеет первоclassные функции, почему не вызывает эту функцию в переменной?

Добавить прописку на вид программно

Разница ключевых слов «typename» и «class» в шаблонах?

Совместимы ли GnuPG 1 и GnuPG 2 друг с другом?

Изменение настроек Overscan / Underscan без центра управления Catalyst

Давайте будем гением компьютера.