查找如以20050505开头的,以.jpg结尾的文件就像sql语句中 like 20050505%.jpg

解决方案 »

  1.   

    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());
    } }

    }
    }
      

  2.   

    20050505[^/\\:*?\"<>|]*\\.jpg
    20050505[^/\\:*?\"<>|]*后面的\\,为什么是\\,而不是\
    []里面的东西怎么这么复杂啊,
    如果list()里面的东西太多,循环查找文件不是很慢吗,有没有更简单的方法呢,请教!
      

  3.   

    那是正则表达式 !我觉得这样就行了!Pattern p=Pattern.compile("^20050505.*\\.jpg$");
      

  4.   

    不知道楼主做什么用的啊,可以建议使用javascript来搞定
      

  5.   

    这不用那么麻烦啊~~~
    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"))
       {
           //能进入这里的就是你的要求   }
    }
      

  6.   

    怎么不好用啊,文件名为20050505.jpg能够查到,如果为20050505-1.jpg就查不到了
      

  7.   

    public static void main(String[] args) throws Exception{
    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
      

  8.   

    eprint自定义打印是一个页面套打工具.它直接在IE浏览器中可视化的设计各种复杂的打印模版,
    能够解决在IE浏览器中打印各种复杂的中国式报表及票据。详见: http://218.30.103.110:8080/eprint/index.htm
    方成eform自定义表单平台,纯BS结构.100%开放源码.可以在 http://218.30.103.110:8080/eform/index.html 在线试用.