大家看一下,一个java的io程序,谢谢了,结果有点不大对
import java.io.File; import java.io.FilenameFilter; import java.util.Arrays; import java.util.regex.Pattern; public class DirList { public static void main(String[] args) { File path=new File("C:\\Windows"); String []list; list=path.list(new DirFilter("exe")); //list=paht.list(); Arrays.sort(list,String.CASE_INSENSITIVE_ORDER); for(String ) System.out.println(dirItem); } } class DirFilter implements FilenameFilter{ private Pattern pattern; DirFilter(String regex){ pattern=Pattern.compile(regex); } public boolean accept(File dir,String name){ return pattern.matcher(name).matches(); } } 此程序是现实windows文件夹下的所有exe文件,现在这么写是没有任何输出结果的,但如果把list=path.list(new DirFilter("exe"));注释掉,用list=paht.list();这个方法,则可现实windows文件夹下的所有文件,不懂为什么,我FilenameFilter这个接口的实现也没有写错啊
你的正则表达式写得不对… import java。io。File; import java。io。FilenameFilter; import java。util。Arrays; import java。util。regex。Pattern; public class DirList { public static void main(String[] args) { File path=new File("C:\\Windows"); String []list; list=path。
list(new DirFilter("\\w+\\。{1}exe")); //list=paht。list(); Arrays。sort(list,String。CASE_INSENSITIVE_ORDER); for(String ) System。
out。println(dirItem); } } class DirFilter implements FilenameFilter{ private Pattern pattern; DirFilter(String regex){ pattern=Pattern。
compile(regex); } public boolean accept(File dir,String name){ return pattern。matcher(name)。matches(); } } 去学下正则表达式吧 这个\\w+\\。
{1}exe意思是以任意字母开头后面是exe的匹配 其实这样写比较好exe$ 另外如果不会用正则的话直接匹配最后三个字符就好了 方法这么写 public boolean accept(File f, String s){ return s。
endsWith("。exe"); } 这样就简单多了。
答:swf文件可以使用IE浏览器直接打开 鼠标左键单击该文件,按SHIFT+鼠标右键单击,在“打开方式”里选择IE浏览器 或者到网上下在FLASHPLAYER播放器...详情>>
答:google "java 缓冲池"详情>>
答:百度里搜张孝祥 非常好的视频教程详情>>