高手帮忙,怎样用java查找通配符所指定的文件列表!!! http://expert.csdn.net/Expert/topic/1438/1438380.xml?temp=.1449854 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实不需要那么麻烦,如下class myFilter extends javax.swing.filechooser.FileFilter {String extension="",description="";public myFilter(String extension,String description) {if(extension!=null)this.extension=extension;if(description!=null)this.description=description;}public myFilter(String[] extension,String description) {for(int i=0;i<extension.length;i++) { this(extension[i],description);}}public String getDescription() {return this.description;}public boolean accept(File file) {if(file.isDirectory()||extension.equals("")) return true;String[] s=extension.replaceAll("[*]","").split("[,]");for(int i=0;i<s.length;i++) { if(file.getName().toLowerCase().endsWith(s[i].toLowerCase())) { return true; }}return false;}} :(java水平太差,没怎么看懂:( sorry:public myFilter(String[] extension,String description) {for(int i=0;i<extension.length;i++) { this(extension[i],description);}}去掉 accept(File file)方法是对当前目录的所有文件进行过滤,每一个文件都要经过这个方法的确定,当返回为true的时候,这个文件将会在列表中被显示出来,返回false的时候,在列表中这个文件将被隐藏 我看书上是实现接口FilenameFilter而不是FileFilter 呀,他们的主要区别是不是FilenameFilter能够指定路径呀 通配符都是要自己处理的,就是在accept里处理,通常有?的过滤都用到正则表达式如:a?.jpg的匹配正则表达式为^[a].?(.jpg)$a*.jpg的匹配正则表达式为^[a].*(.jpg)$ 这要是随便指定通配符 *和?,那正则表达式其不是很麻烦,我要是这样使用*?*.?ava,那我找他的正则表达式那不是...简单介绍一下正则表达式处理*和?的原理吗? 关于java对象垃圾回收的问题 JAVA中的回调函数 f.format 简单问题 小弟正在自学java!!请各位帮帮忙!! java后续求指导 请教一个dos下补全快捷键 请问是否有支持SUSE 10 64位操作系统的JSDK呢? 在java中如何实现 急待解决一个JAVA编译问题: 高分求解 jni 问题 这种学习曲线可行吗? 构造器里调用构造器的问题
class myFilter extends javax.swing.filechooser.FileFilter {
String extension="",description="";
public myFilter(String extension,String description) {
if(extension!=null)this.extension=extension;
if(description!=null)this.description=description;
}public myFilter(String[] extension,String description) {
for(int i=0;i<extension.length;i++) {
this(extension[i],description);
}
}public String getDescription() {
return this.description;
}public boolean accept(File file) {
if(file.isDirectory()||extension.equals(""))
return true;
String[] s=extension.replaceAll("[*]","").split("[,]");
for(int i=0;i<s.length;i++) {
if(file.getName().toLowerCase().endsWith(s[i].toLowerCase())) {
return true;
}
}
return false;
}
}
public myFilter(String[] extension,String description) {
for(int i=0;i<extension.length;i++) {
this(extension[i],description);
}
}
去掉
a?.jpg的匹配正则表达式为^[a].?(.jpg)$
a*.jpg的匹配正则表达式为^[a].*(.jpg)$
我要是这样使用*?*.?ava,
那我找他的正则表达式那不是...
简单介绍一下正则表达式处理*和?的原理吗?