[英]How to get all text files from one folder using Java?
我需要從文件夾中讀取所有“.txt”文件(用戶需要選擇這個文件夾)。
請指教怎么做?
您可以使用filenamefilter
類,這是非常簡單的用法
public static void main(String[] args) throws IOException {
File f = new File("c:\\mydirectory");
FilenameFilter textFilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
};
File[] files = f.listFiles(textFilter);
for (File file : files) {
if (file.isDirectory()) {
System.out.print("directory:");
} else {
System.out.print(" file:");
}
System.out.println(file.getCanonicalPath());
}
}
只需創建一個filenamefilter
實例覆蓋接受方法你想要的
假設您已經擁有該目錄,您可以執行以下操作:
File directory= new File("user submits directory");
for (File file : directory.listFiles())
{
if (FileNameUtils.getExtension(file.getName()).equals("txt"))
{
//dom something here.
}
}
FileNameUtils.getExtension() 可以在這里找到。
編輯:您似乎想要做的是從 Web 瀏覽器訪問文件結構。 根據this previous SO post,由於安全原因,您想要做的事情是不可能的。
您需要讀取 目錄並在其中進行迭代。
它更多是關於 Java 訪問文件系統的問題,而不是關於 MVC 的問題
我編寫了以下函數來搜索目錄中的所有文本文件。
public static void parseDir(File dirPath)
{
File files[] = null;
if(dirPath.isDirectory())
{
files = dirPath.listFiles();
for(File dirFiles:files)
{
if(dirFiles.isDirectory())
{
parseDir(dirFiles);
}
else
{
if(dirFiles.getName().endsWith(".txt"))
{
//do your processing here....
}
}
}
}
else
{
if(dirPath.getName().endsWith(".txt"))
{
//do your processing here....
}
}
}
看看這是否有幫助。
提供一個文本框給用戶輸入目錄的路徑。
File userDir=new File("userEnteredDir");
File[] allfiles=useDir.listFiles();
使用 getExtension() 方法迭代 allFiles 以過濾 .txt 文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.