如何使用Java从一个文件夹中获取所有文本文件?
我需要读取文件夹中的所有.txt文件。用户需要选择此文件夹 请告知如何操作?您需要阅读并在其中迭代如何使用Java从一个文件夹中获取所有文本文件?,java,file,Java,File,我需要读取文件夹中的所有.txt文件。用户需要选择此文件夹 请告知如何操作?您需要阅读并在其中迭代 与其说是关于MVC的问题,不如说是关于Java对文件系统的访问的问题假定您已经有了目录,您可以这样做: File directory= new File("user submits directory"); for (File file : directory.listFiles()) { if (FileNameUtils.getExtension(file.getName()).equa
与其说是关于MVC的问题,不如说是关于Java对文件系统的访问的问题假定您已经有了目录,您可以这样做:
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浏览器访问文件结构。根据上一篇SO帖子,由于安全原因,您不可能执行此操作。我编写了以下函数,用于搜索目录中的所有文本文件
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();
查看是否有帮助。为用户提供一个文本框,以输入目录的路径
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方法迭代所有文件以过滤.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实例一个override accept方法您希望如何该任务与Spring MVC有什么关系?您尝试了什么?您可以用类似的方法在控制器程序中的java中执行该操作文件夹将位于客户端?@e-ZINK:是的,您是对的。我纠正了错误topic@Balaswamy瓦德曼:我这么做是为了一个文件。如何使用standart Windows open dialog选择目录?当用户选择一个文件时,将路径传递给文件构造器。这仅在所选文件夹位于服务器端时才起作用,这里的情况似乎不是这样。您不能从服务器端访问客户端的文件夹。@ManishSharma:关于您的第一点,OP没有指定任何方案。。。看到spring控制器位于服务器上,假设OP想要访问服务器端的东西。关于你的第二点,OP没有具体说明他做了什么。我只是提供了一小段代码,它满足了OP的要求,这个网站的目的不是让其他人工作。@ManishSharma:不在服务器上复制文件,在客户端可以这样做吗?+1是第一个提到的。