我有一個包含多個文件的目錄。我需要僅使用Java檢索List中的XML文件名。我怎樣才能做到這一點?使用JAVA從目錄中檢索所有XML文件名
回答
試試這個[文件路徑是目錄路徑!]
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增加一個或聲明,如果聲明它工作正常..! – 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. 從當前目錄和子目錄檢索所有文件
- 2. 從xml文件檢索主要記錄/項目標籤名稱
- 3. Bash - 如何檢索目錄的所有名稱文件?
- 4. 從目錄中的所有文件名刪除空格 - Java
- 5. 從目錄獲取所有文件名
- 6. 如何使用PHP從LDAP目錄中檢索所有用戶?
- 7. 從目錄和子目錄中檢索只有txt文件
- 8. 使用C檢索文件夾中的所有文件名#
- 9. 使用XSLT檢索XML文件名稱
- 10. 如何從C目錄中檢索文件名和子目錄名?
- 11. 如何用Java重命名目錄中的所有文件?
- 12. 搜索所有目錄中的文件
- 13. 使用VB.Net檢索目錄中最近文件的名稱
- 14. Java - 從目錄中獲取文件名
- 15. 檢索目錄中的所有文件夾並更改其中的所有文件夾名稱
- 16. 使用python程序重命名linux目錄中的所有XML文件
- 17. appcelerator檢索目錄中的所有文件
- 18. 如何使用文件名從目錄搜索文件?
- 19. 圖庫缺少目錄中的文件 - 如何從目錄中檢索所有文件
- 20. 從嵌套目錄中檢索上次修改的文件名
- 21. 使用FTP從目錄中檢索特定文件
- 22. 如何使用ASTParser從java文件中檢索SuperClass名稱?
- 23. MVC5如何從Azure活動目錄中檢索所有用戶
- 24. java如何從xml文件中獲取所有元素名稱
- 25. 重命名目錄中的所有文件,使用python
- 26. Python - 使用循環重命名目錄中的所有文件
- 27. 使用JFileChooser獲取目錄中的所有文件名?
- 28. 如何搜索目錄和子目錄中的所有文件使用grep
- 29. Java從給定目錄獲取所有文件名,包括子文件夾?
- 30. 基於擴展名使用Java檢索目錄的第一個文件
您可以請顯示您的嘗試。一些代碼請。 –
請參閱:http://stackoverflow.com/questions/5751335/using-file-listfiles-with-filenameextensionfilter – Nishan