用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

用正则条件匹配目录

2012-12-31 作者: 海大软件1102班举报

[java]代码库

//用于缓存文件列表
private ArrayList files = new ArrayList();
//用于承载文件路径
private String _path;
//用于承载未合并的正则公式
private String _regexp;
 
class MyFileFilter implements FileFilter {
 
      /**
       * 匹配文件名称
       */
      public boolean accept(File file) {
        try {
          Pattern pattern = Pattern.compile(_regexp);
          Matcher match = pattern.matcher(file.getName());               
          return match.matches();
        } catch (Exception e) {
          return true;
        }
      }
    }
 
/**
 * 解析输入流
 * @param inputs
 */
FilesAnalyze (String path,String regexp){
    getFileName(path,regexp);
}
 
/**
 * 分析文件名并加入files
 * @param input
 */
private void getFileName(String path,String regexp) {
    //目录
      _path=path;
      _regexp=regexp;
      File directory = new File(_path);
      File[] filesFile = directory.listFiles(new MyFileFilter());
      if (filesFile == null) return;
      for (int j = 0; j < filesFile.length; j++) {
        files.add(filesFile[j]);
      }
      return;
    }
 
/**
 * 显示输出信息
 * @param out
 */
public void print (PrintStream out) {
    Iterator elements = files.iterator();
    while (elements.hasNext()) {
        File file=(File) elements.next();
            out.println(file.getPath());   
    }
}
 
public static void output(String path,String regexp) {
 
    FilesAnalyze fileGroup1 = new FilesAnalyze(path,regexp);
    fileGroup1.print(System.out);
}
 
public static void main (String[] args) {
    output("C:\\","[A-z|.]*");
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...