У меня есть каталог с несколькими файлами. Мне нужно получить только имена файлов XML в списке с использованием Java. Как я могу это сделать?Извлечь все имена файлов XML из каталога с помощью JAVA
ответ
Попробуйте [FilePath это путь к каталогу !!]
public static void main(String[] args) {
File folder = new File("{FilePath}");
File[] listOfFiles = folder.listFiles();
for(int i = 0; i < listOfFiles.length; i++){
String filename = listOfFiles[i].getName();
if(filename.endsWith(".xml")||filename.endsWith(".XML"))
{
System.out.println(filename);
}
}
}
}
Спасибо. Рабочий тон – user3089869
1) 'filename.endsWith (". Xml ")' пропустит любой файл, заканчивающийся .XML. 2) Используйте 'FilenameFilter'! –
@AndrewThompson: jus добавить инструкцию OR, если инструкция работает нормально .. !! – BlackPOP
Вы можете использовать также FilenameFilter:
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo implements FilenameFilter {
String str;
// constructor takes string argument
public FileDemo(String ext) {
str = "." + ext;
}
// main method
public static void main(String[] args) {
File f = null;
String[] paths;
try {
// create new file
f = new File("c:/test");
// create new filter
FilenameFilter filter = new FileDemo("xml");
// array of files and directory
paths = f.list(filter);
// for each name in the path array
for (String path : paths) {
// prints filename and directory name
System.out.println(path);
}
} catch (Exception e) {
// if any error occurs
e.printStackTrace();
}
}
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(str.toLowerCase());
}
}
Я бы изменил 'name.endsWith (str)' на 'name.toLowerCase(). EndsWith (str.toLowerCase())', чтобы учесть ... различный случай между тем, что указано, и тем, что найдено. В противном случае +1 не только для правильного API, но и для примера. Ницца. :) –
Вы можете фильтровать с помощью File.filter (FilenameFilter). Предоставьте свою реализацию для FileNameFilter
File f = new File("C:\\");
if (f.isDirectory()){
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if(name.endsWith(".xml")){
return true;
}
return false;
}
};
if (f.list(filter).length > 0){
/* Do Something */
}
}
- 1. Как получить все имена файлов из каталога с помощью ant
- 2. Java Получить все имена файлов из заданного каталога, включая подпапки?
- 3. Java - получить имена файлов из каталога
- 4. Прочитать имена файлов из каталога
- 5. Прочитать имена файлов из каталога
- 6. Извлечь все имена файлов в папке с помощью C#
- 7. имена Извлечение файлов из каталога в питона
- 8. Получить все имена файлов из dir
- 9. сохранить все имена файлов в переменной из каталога/поддиапазона unix
- 10. Как извлечь имена элементов из схемы XML с помощью XSLT?
- 11. Javascript извлекает все имена подпапок из каталога
- 12. Извлечь данные XMl с помощью Java
- 13. Как извлечь все имена из блока текста
- 14. Распечатать имена файлов из каталога w/jQuery
- 15. Получить имена файлов из каталога на Android
- 16. Извлечь имена методов из файлов кода .CS
- 17. ksh читать имена файлов из каталога
- 18. Java Чтение файлов из большого каталога
- 19. Как извлечь метаданные из html-файлов с помощью java
- 20. Bat: как извлечь имена файлов из команды
- 21. Извлечь имена файлов из git pull output
- 22. Как извлечь имена тегов из XML
- 23. Только имена файлов каталога виджетов
- 24. Показать все имена файлов из определенной папки
- 25. Разбор каталога нескольких XML-файлов в Java
- 26. извлечь все файлы из каталога, начинающегося с определенного слова
- 27. Перемещение файлов из одного каталога в другой с помощью Java
- 28. Перенаправление файлов из каталога с помощью awk
- 29. Как просмотреть все имена файлов каталога в массиве?
- 30. Извлечь строку из XML с помощью Groovy
Не могли бы вы показать, что вы пробовали. Некоторый код, пожалуйста. –
Смотрите следующее: http://stackoverflow.com/questions/5751335/using-file-listfiles-with-filenameextensionfilter – Nishan