package test;import java.io.File;public interface FileFilter {
public boolean accept(File filename);
}
----------------------------------------------------------
package test;import java.io.File;
import java.io.FileFilter;public class FilterExam implements FileFilter { public boolean accept(File filename) {
// TODO Auto-generated method stub
String tmp = filename.getName().toLowerCase();
if(tmp == "BXViewer")
//if(tmp.endsWith(".txt")||tmp.endsWith(".exe"))
return true;
else
return false;
}}
-----------------------------------------------------------
package test;import java.io.File;
import java.io.FileFilter;public class FileFilterTest { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
String filename = "";
File dir = new File("d://software");
FileFilter filter = new FilterExam();
System.out.println("list java files in directory " + dir);
File files[] = dir.listFiles(filter);
for(int i = 0 ;i < files.length;i++)
{
filename = files[i].getName().toString();
if(files[i].isFile())
System.out.println("file:"+filename);
else
System.out.println("directory:"+filename);
}
}}我写了个显示指定目录下文件的东西,怎么改成查找是否存在一个指定文件或文件夹的程序?还有这个程序不能显示目录是怎么回事?该如何修改?(初学者)请大家帮忙.

解决方案 »

  1.   

    没仔细看,找了个错
    File dir = new File("d://software");"//" should be "\\"
      

  2.   

    if (file.exist())
     有
    else
     没有
      

  3.   

    至少if(tmp == "BXViewer")是有问题的
    用equals吧
      

  4.   

    import java.io.*;class OnlyExt implements FilenameFilter {
    String ext;public OnlyExt(String ext)
    {
    this.ext = "."+ext;
    }public boolean accept(File dir,String name)
    {
    return name.endsWith(ext);
    }
    }// 以下只显示.java 为扩展名的文件public class DirListOnly {
    public static void main(String[] args)
    {
    String dirname = "/a";  // a 目录下
    File f1 = new File(dirname);
    FilenameFilter only = new OnlyExt("java");
    String s[] = f1.list(only);for (int i = 0; i < s.length; i ++)
    System.out.println(s[i]);
    }
    }