FilenameFilter类的实现
/*
 * 创建日期 2008-7-18
 *
 * 更改所生成文件模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
package com.ibm.democenter;import java.io.File;
import java.io.FilenameFilter;import com.ibm.FileTest;/**
 * @author PC385
 *
 * 更改所生成类型注释的模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
public class FilenameFilterImpl implements FilenameFilter
{
/* (非 Javadoc)
 * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
 */
private String str;
public boolean accept(File dir, String name)
{
    if(name.toLowerCase().endsWith("jpg"))
    return true;
    else 
    return false;
}
public FilenameFilterImpl(String str){
this.str = str;
}
}
测试类:
/*
 * 创建日期 2008-7-18
 *
 * 更改所生成文件模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
package com.ibm;import java.io.File;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.ibm.democenter.FilenameFilterImpl;/**
 * @author PC385
 *
 * 更改所生成类型注释的模板为
 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
 */
public class FileTest
{
public static void main(String[] args)
{   

File file = new File("D:\\图片");
//System.out.println(file.exists());
//String [] filelist = file.list(new FilenameFilterImpl(".jpg"));
//System.out.println("length="+filelist.length);
//System.out.println("<<<<                 >>>>>");
//for(int i=0;i<filelist.length;i++){
//System.out.println(filelist[i]);
//File file_ = new File("c:/Temp/"+filelist[i]);
//System.out.println(getLastModifyTime(file_).equals(toDayTime()));
//}
System.out.println("<<<<                 >>>>>");
String [] fileall = file.list(new FilenameFilterImpl(".jpg"));

System.out.println(fileall.length);
System.out.println("<<<<  --------------------- >>>>>");
for(int i=0;i<fileall.length;i++){

   if(new File("D:\\图片\\"+fileall[i]).isFile()){    
System.out.println(fileall[i]);
   }else{
showFile(new File("D:\\图片\\"+fileall[i]));
   }
}
}
/**
 * @param file
 */
public static void showFile(File file)
{
// TODO 自动生成方法存根
if(!file.isDirectory())
return ;
String[] file_all = file.list();
for(int i=0;i<file_all.length;i++){

if(file_all[i].indexOf('.')<0){
showFile(new File(file.getAbsolutePath()+'\\'+file_all[i]));
}else{
System.out.println("-----"+file.getAbsolutePath()+'\\'+file_all[i]);
}
}
}
public static String getLastModifyTime(File file){
long mtime = file.lastModified();
//System.out.println("__________"+mtime);
Date date_ = new Date();
date_.setTime(mtime);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str_ = sdf.format(date_);
return str_; 
}
public static String  toDayTime(){
Date date_ = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String today_ = sdf.format(date_);
return today_;
}
}
读取不到结果??
注意红色部分?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wuzhichang_JAVA】截止到2008-07-23 12:46:56的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:19                       得分贴总数量:8                        回帖的得分率:42%                      
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:0                        
    结贴的百分比:0.00  %               结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    FilenameFilterImpl这个类的代码在哪儿 ?试一下下面这个代码.
    file.list(new FilenameFilter(){
         public boolean accept(File dir,String name){
              return name.endWith(".jpg");
         }
    }); 
      

  3.   

    一样的,得不到结果
    FilenameFilterImpl类,最上面