Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FileUtils.iterateFiles IGNORECASE_Java_File_File Io_Apache Commons Io - Fatal编程技术网

Java FileUtils.iterateFiles IGNORECASE

Java FileUtils.iterateFiles IGNORECASE,java,file,file-io,apache-commons-io,Java,File,File Io,Apache Commons Io,我需要按扩展名类型和ignorecase模式查找目录和子目录中的文件,这是我的代码: String[] patron = {"doc", "xls", "ppt"}; Iterator iter = FileUtils.iterateFiles(new File(directories), patron, true); 我还需要返回扩展名为Doc,Doc。。。ignorecase您必须在 您正在使用的定义 public static Iterator iterateFiles(File d

我需要按扩展名类型和ignorecase模式查找目录和子目录中的文件,这是我的代码:

String[] patron = {"doc", "xls", "ppt"};
Iterator iter =  FileUtils.iterateFiles(new File(directories), patron, true);

我还需要返回扩展名为Doc,Doc。。。ignorecase

您必须在

您正在使用的定义

public static Iterator iterateFiles(File directory,
                                    String[] extensions,
                                    boolean recursive)
允许对给定目录(以及可选的子目录)中与扩展名数组匹配的文件进行迭代。此方法基于listFiles(文件,字符串[],布尔值)

扩展-扩展数组,例如{“java”,“xml”}。如果此参数为null,则返回所有文件。递归-如果为true,则搜索所有子目录

它应该返回文件,而不考虑文档或文档或文档,它们都是相同的。

否则,还有一个定义可以应用过滤器

您可以将此定义用于IterateFile

iterateFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)
在这种情况下,必须传递IOFileFilter对象,才能实现给定的accept方法定义

boolean accept(File dir, String name)

IOFileFilter的文档可以在

上找到。您必须参考

您正在使用的定义

public static Iterator iterateFiles(File directory,
                                    String[] extensions,
                                    boolean recursive)
允许对给定目录(以及可选的子目录)中与扩展名数组匹配的文件进行迭代。此方法基于listFiles(文件,字符串[],布尔值)

扩展-扩展数组,例如{“java”,“xml”}。如果此参数为null,则返回所有文件。递归-如果为true,则搜索所有子目录

它应该返回文件,而不考虑文档或文档或文档,它们都是相同的。

否则,还有一个定义可以应用过滤器

您可以将此定义用于IterateFile

iterateFiles(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)
在这种情况下,必须传递IOFileFilter对象,才能实现给定的accept方法定义

boolean accept(File dir, String name)

IOFileFilter的文档可以在

中找到。使用该方法的其他版本并通过您自己的筛选器:

String[] extensions = new String[] {"doc", "xls", "ppt"};
IOFileFilter filter = new SuffixFileFilter(extensions, IOCase.INSENSITIVE);
Iterator iter = FileUtils.iterateFiles(new File(directorio), filter, DirectoryFileFilter.DIRECTORY);

请注意使用的是
IOCase.INSENSITIVE

使用该方法的其他版本并传递您自己的筛选器:

String[] extensions = new String[] {"doc", "xls", "ppt"};
IOFileFilter filter = new SuffixFileFilter(extensions, IOCase.INSENSITIVE);
Iterator iter = FileUtils.iterateFiles(new File(directorio), filter, DirectoryFileFilter.DIRECTORY);

注意使用了
IOCase.INSENSITIVE

我实际上想对@AurA的答案发表评论,但我不被允许发表评论,因为它说“你必须有50个声誉才能发表评论”


是区分大小写的,因此它不会“返回文件,而不考虑文档或文档或文档”。

我实际上想对@AurA的答案发表评论,但我不被允许,因为它说“你必须有50个声誉才能发表评论”


区分大小写,因此它不会“返回文件而不考虑文档或文档或文档”。

非常感谢,还要将该行添加到递归搜索中:IOFileFilter filter=new-suffilefilter(用户,IOCase.INSENSITIVE);迭代器iter=FileUtils.iterateFiles(新文件(directorio)、filter、DirectoryFileFilter.DIRECTORY);我的错误是,最后一个参数必须是目录筛选器。我更新了代码,谢谢。@user2671914如果解决了问题,请接受答案。非常感谢,还要在递归搜索中添加一行:IOFileFilter filter=new-suffilefilter(用户,IOCase.INSENSITIVE);迭代器iter=FileUtils.iterateFiles(新文件(directorio)、filter、DirectoryFileFilter.DIRECTORY);我的错误是,最后一个参数必须是目录筛选器。我更新了代码,谢谢。@user2671914如果解决了问题,请接受答案。