package code.tong;import java.io.*;class FileFilterDemo implements FilenameFilter {
private String name;
private String ext;
public FileFilterDemo(String name,String ext){
this.name=name;
this.ext=ext;
}
public boolean accept(File dir,String filename){
boolean fString =true;
if(name!=null)
fString &=filename.startsWith(name);
if(ext!=null)
fString &=filename.endsWith("."+ext);
return fString;
}
}
public class JavaDirDemo {
static void print(String s){
System.out.println(s);
}
public static void main(String [] args){
File path=new File("C:/Program Files/360safe");
print("文件路径"+path);
FilenameFilter x=new FileFilterDemo("lib","exe");
String s[] =path.list(x);
for(int i=0;i<s.length;i++)
print(s[i]);
}
}//运行结果:文件路径C:\Program Files\360safe ,怎么没有显示我要过滤的文件名呢?程序哪里出错了呢
// 路径绝对没有问题,我换了几个路径,没有list(),
// 还有一个疑问,“&=”什么意思啊。
// 接口中的方法public boolean accept(File dir,String filename),怎么没有对象调用呢?
private String name;
private String ext;
public FileFilterDemo(String name,String ext){
this.name=name;
this.ext=ext;
}
public boolean accept(File dir,String filename){
boolean fString =true;
if(name!=null)
fString &=filename.startsWith(name);
if(ext!=null)
fString &=filename.endsWith("."+ext);
return fString;
}
}
public class JavaDirDemo {
static void print(String s){
System.out.println(s);
}
public static void main(String [] args){
File path=new File("C:/Program Files/360safe");
print("文件路径"+path);
FilenameFilter x=new FileFilterDemo("lib","exe");
String s[] =path.list(x);
for(int i=0;i<s.length;i++)
print(s[i]);
}
}//运行结果:文件路径C:\Program Files\360safe ,怎么没有显示我要过滤的文件名呢?程序哪里出错了呢
// 路径绝对没有问题,我换了几个路径,没有list(),
// 还有一个疑问,“&=”什么意思啊。
// 接口中的方法public boolean accept(File dir,String filename),怎么没有对象调用呢?
解决方案 »
- enum的方法valueof(String)和values()的问题
- 关于继承中子类对象赋值给父类
- 关于以服务的形式控制Socket的设计
- JAVA的类型转换..........在线等待
- 高手们能否在下面的每一句后面注释下她的功能???我看的不是很明白?
- transient native volatile 这三个关键含义是什么呢?
- 大家都来谈谈自己学习Java的经验或看法!(来者有分)
- 如何让数据显示在JTable上?急,在线等待,解决马上结贴
- 我都快疯掉了!!!到底JAVA是怎样学的??
- 求JAVA程序
- 可以在Web界面显示(调用)GUI吗???
- java高手请进!如何用swing按钮调用外部类方法?
import java.io.FilenameFilter;/*
* FilenameFilter是一个接口,只有一个方法要实现:
* accept(File dir, String name)
*
* 我们这里实现了一个名字过滤器
*/
public class Filter implements FilenameFilter
{ static String kzm = ".exe"; public boolean accept(File dir, String name)
{
return name.endsWith(kzm);
} public String[] getFile(File file, String name)
{
this.setKzm(name);
String[] filename = file.list(this);
return filename;
} public void setKzm(String name)
{
kzm = name;
} public static void main(String[] args)
{
Filter s = new Filter();
File file = new File("D:/Program Files/360safe");
String[] filename = s.getFile(file, kzm);
for (int i = 0; i < filename.length; i++)
{
System.out.println(filename[i]);
}
}}实现查找 D:/Program Files/360safe 文件夹下的所有以.exe结尾的文件