我需要实施
File[] files = getFiles( String folderName, String ptrn );
其中ptrn是命令提示符样式模式,例如“ * 2010 * .txt”
我熟悉FilenameFilter类,但public boolean accept(File dir, String filename)
由于String.matches()不接受此类模式而无法实现 。
谢谢!
所述String#matches()
接受的正则表达式
模式。
“ layman’s”变体的regex变体*2010*.txt
为.*2010.*\.txt
。
因此,以下应该工作:
public boolean accept(File dir, String name) {
return name.matches(".*2010.*\\.txt");
}
双反斜杠只是用来表示实际的反斜杠,因为反斜杠本身是Java中的转义字符String
。
另外,您也可以使用其他String
方法在不使用正则表达式的情况下执行此操作:
public boolean accept(File dir, String name) {
return name.contains("2010") && name.endsWith(".txt");
}
最好的选择是ptrn
代表一个 真正的 正则表达式模式,或者.
用\.
and 替换每个字符串*
,.*
使之成为有效的正则表达式模式。
public boolean accept(File dir, String name) {
return name.matches(ptrn.replace(".", "\\.").replace("*", ".*"));
}
问题内容: 我知道我可以按文件类型进行过滤,但是可以按文件大小进行过滤吗? 例如,一个JFileChooser仅显示3 MB内的图片。 问题答案: 简短的答案应该是,您尝试了什么?长答案是肯定的… 从技术上讲,您可以过滤以下任何属性或属性组合
我正在为我的公司开发一个小Java程序。在这个程序中,我需要重新从我的本地文件夹一些文件,但我需要搜索文件的前三个字符和扩展名。在阅读java文档时,我看到库已经存在,因此为了按照名称和扩展名过滤文件,我看到了和构造,我已经实现如下,所以我尝试使用它。 是否可以筛选各种文件名,并将连接到?
主要内容:实现,Person.java,Criteria.java,CriteriaMale.java,CriteriaFemale.java,CriteriaSingle.java,AndCriteria.java,OrCriteria.java,CriteriaPatternDemo.java过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。CriteriaP
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。CriteriaP
name String extensions String[]