作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个 ZipComparison
文件,它遍历目录树结构,并处理以下目录中所有 .zip
文件的 MD5
该目录树结构。
import java.io.*;
public class ZipComparison {
public class ZipFilenameFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
if( name != null &&
( dir.isDirectory() || name.toLowerCase().endsWith(".zip"))) {
return true;
}
return false;
}
}
/**
* These two constant values are the root for the directory
*/
private static final String root_a = "D:/UDU/r/tc10.0.0.2012080100_A";
private static final String root_b = "D:/UDU/r/tc10.0.0.2012080100_B";
private ZipFilenameFilter filter;
public ZipComparison() {
this.filter = new ZipFilenameFilter();
}
public void matchMD5() {
try{
File root = new File( ZipComparison.root_a );
if( !root.exists() ){
System.out.println( "root doesn't exist" );
}
else if( !root.isDirectory() ) {
System.out.println( "root isn't a directory" );
}
else{
File[] files = new File( ZipComparison.root_a ).listFiles( this.filter );
if( files != null ){
showFiles( files );
}
else{
System.out.println( "List of files was null." );
System.exit( -1 );
}
}
}
catch(SecurityException ex){
ex.printStackTrace();
}
}
/**
* iterates over the directory tree structure.
* @param files
*/
public void showFiles( File[] files ){
for( File file : files ){
if( file.isDirectory() ) {
System.out.println( "Directory: " + file.getName() );
showFiles( file.listFiles( this.filter ) );
}
else {
System.out.println( "File: " + file.getName() );
}
}
}
/**
* @param args
*/
public static void main( String[] args ) {
// TODO Auto-generated method stub
ZipComparison zc = new ZipComparison();
zc.matchMD5();
System.exit( 0 );
}
}
当我在没有 ZipFilenameFilter 过滤器
的情况下执行程序时,它工作得很好。但是,当我将 filter
添加到
File[] files = new File( ZipComparison.root_a ).listFiles( filter );
没有打印任何内容。我错过了什么吗?
最佳答案
您正在递归搜索,但错误地过滤了目录。尝试一下
if( name != null &&(name.isDirectory()||
name.toLowerCase().endsWith(".zip")))
关于java - FilenameFilter 不过滤 zip 文件 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008446/
我是一名优秀的程序员,十分优秀!