Я работаю над небольшим приложением в Java, который берет структуру каталогов и переименовывает файлы согласно определенному формату после парсинга настоящего имени.
Каков лучший класс Java / методология для использования для упрощения этих операций файла?
Править: вопрос только расценивает операционную часть файла, я получил "снижение отформатированного имени" :)
Редактирование 2: Кроме того, как я перечисляю файлы рекурсивно?
Используйте java.io.File
Перечисление всех файлов в каталоге
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
// Do something with "listOfFiles[i]"
}
UPDATE
Для рекурсивного перечисления файлов, лучший подход довольно прост:
isDirectory()
), добавьте его в конец очереди.
В противном случае, обработайте этот следующий файл по мере необходимости (например, распечатайте)Пример (думаю, немного отличающийся от моего подхода выше): http://www.javapractices.com/topic/TopicAction.do?Id=68
Переименование файла
http://www.roseindia.net/java/example/java/io/RenameFileOrDir.shtml
boolean Rename = oldfile.renameTo(newfile);
Поиск нового имени для переименования
Я не уверен, какие правила форматирования вам нужны - когда я реализовывал такую же утилиту на Perl для собственного использования, я использовал регулярные выражения. Для Java это будет java.util.regex
Вы всегда можете использовать стандартный класс java.io.File
, но он примитивен и не очень полезен сам по себе.
Для сложных операций файлового ввода-вывода я рекомендую использовать Apache Commons IO , который предоставляет богатую библиотеку классов для (помимо прочего) файловых операций. См. Такие классы, как FileUtils и FilesystemUtils
Это Sun Totorial может быть хорошим началом. На вашем месте я бы в основном получил все файлы в каталоге, а затем просмотрел их в цикле, как показано здесь. Возможно, вам также придется использовать регулярные выражения, базовый учебник можно найти здесь