import java.io.*; import java.util.regex.*; public class FindFile { public static void main(String[] args) { Pattern p=Pattern.compile("20050505[^/\\:*?\"<>|]*\\.jpg"); File f = new File(args[0]); String[] files = f.list(); File file = null; for (int i = 0; i < files.length; i++) { file = new File(args[0],files[i]); if (file .isFile()) { Matcher m = p.matcher(file.getName()); if(m.matches()) System.out.println(file.getName()); } }
import java.util.regex.*;
public class FindFile
{
public static void main(String[] args)
{
Pattern p=Pattern.compile("20050505[^/\\:*?\"<>|]*\\.jpg");
File f = new File(args[0]);
String[] files = f.list();
File file = null;
for (int i = 0; i < files.length; i++)
{
file = new File(args[0],files[i]);
if (file .isFile())
{
Matcher m = p.matcher(file.getName());
if(m.matches())
System.out.println(file.getName());
} }
}
}
20050505[^/\\:*?\"<>|]*后面的\\,为什么是\\,而不是\
[]里面的东西怎么这么复杂啊,
如果list()里面的东西太多,循环查找文件不是很慢吗,有没有更简单的方法呢,请教!
File f = new File("文件夹的路径");
File[] ff = f.listFiles();for (int i = 0;i < ff.length;i++ ){
String name = ff[i].getName();
if (ff[i].isFile() && name.startWith("20050505") && name.endWith(".jpg"))
{
//能进入这里的就是你的要求 }
}
File f = new File("a");
String[] str = f.list(); for (int i = 0;i<str.length ;i++ ){
if (str[i].startsWith("20050505") && str[i].endsWith(".jpg")){
System.out.println(str[i]);
}
}
// System.out.print("gag");
}我试了可以啊~~
a 是文件夹
是startsWith和endsWith
能够解决在IE浏览器中打印各种复杂的中国式报表及票据。详见: http://218.30.103.110:8080/eprint/index.htm
方成eform自定义表单平台,纯BS结构.100%开放源码.可以在 http://218.30.103.110:8080/eform/index.html 在线试用.