放到主方法里
File dir = new File("d:\\");
Filter filter = new Filter("java");

String fileList[] = dir.list(filter);

for (int I=0;I<fileList.length;I++)
{
Filter tmpFile = new File(fileList[I]);
if (tmpFile.isFile())

System.out.println("文件"+tmpFile);

else

System.out.println("目录"+tmpFile);

}

解决方案 »

  1.   

    Filter tmpFile = new File(fileList[I]);是
    File tmpFile = new File(fileList[I]);
      

  2.   

    我刚刚学习JAVA,还看不懂你的程序,但是我找不到这个程序的入口(也就是主函数)你是不是忘记写了,或者根本就不用写。
      

  3.   

    给你一个例子吧!!//取得指定目录下的所有目录及文件,并且返回最近访问过的文件或者目录
    private void getNewFile(String aStrPath)
    {
        File fle = new File(aStrPath);
        File[] fleList;
        String strTmp = null;
        String strFile = null;
        SimpleDateFormat fmtDate = new SimpleDateFormat("yyyy/MM/dd");
        java.util.Date fleDate = new java.util.Date();
        long lngFleDate = 0;
        long lngFleDateOld = 0;
        long lngCurDate = new java.util.Date().getTime();
        long lngStep = 0;    if (fle.exists())
        {
            fleList = fle.listFiles();
            lngFleDate = fleList[0].lastModified();
            lngFleDateOld = lngFleDate;
            lngStep = lngCurDate - lngFleDateOld;
            for (int i = 1; i < fleList.length; i++)
            {
                lngFleDate = fleList[i].lastModified();
                fleDate.setTime(lngFleDate);
                strTmp =
                    fleList[i].getName().toString()
                        + " : "
                        + fmtDate.format(fleDate);
                if (lngCurDate - lngFleDate < lngStep)
                {
                    strFile = fleList[i].getName().toString();
                    lngFleDateOld = lngFleDate;
                    lngStep = lngCurDate - lngFleDate;
                }            System.out.println(
                    (fleList[i].isFile() ? "文件: " : "目录: ") + strTmp);
                //lst.add((fleList [i].isFile() ? "文件: " : "目录: ") + strTmp);
            }
        }
        System.out.println("=========================");
        fleDate.setTime(lngFleDateOld);
        System.out.println(
            "最近访问的文件: " + strFile + " : " + fmtDate.format(fleDate));
    }
      

  4.   

    d:\JCreator Pro\MyProjects\FileFilterDemo.java:10: illegal start of type
    for (int I=0;I<fileList.length;I++)
            ^
    d:\JCreator Pro\MyProjects\FileFilterDemo.java:22: <identifier> expected
    }
    ^
    2 errors这是错误信息
      

  5.   

    还有一个问题 Filter 最好不要写java中已有的类的名字
      

  6.   

    for 循环那段话应该写在一个方法里,而不能直接写在类里
      

  7.   

    同意 小猪!import java.io.*;public class FileFilterDemo
    {

    public static void main(String[] args)
    {
    File dir = new File("d:\\");
    Filter filter = new Filter("java");
    String[] fileList = dir.list(filter);

    for(int i=0; i<fileList.length; i++)
    {
    File tmpFile = new File(fileList[i]);
    if (tmpFile.isFile())

    System.out.println("文件"+tmpFile);

    else

    System.out.println("目录"+tmpFile);

    }

    }
    }class  Filter implements FilenameFilter
    {
    String extension;

    Filter(String extension)
    {
    this.extension = extension;
    }

    public boolean accept(File directory,String filename)
    {
    return filename.endsWith("."+extension);
    }
    }
      

  8.   

    import java.io.*;public class FileFilterDemo
    {
    File dir = new File("d:\\"); Filter filter = new Filter("java");

    String fileList[] = dir.list(filter);
    public void aaaaaaaaa(){
    int k = fileList.length;

    for(int i=0;i<k;i++){
    File tmpFile = new File(fileList[i]);


    if (tmpFile.isFile())
    {
    System.out.println("文件"+tmpFile);
    }
    else{

    System.out.println("目录"+tmpFile);
    }
    }
    }
    }class  Filter implements FilenameFilter
    {
    String extension;

    Filter(String extension)
    {
    this.extension = extension;
    }

    public boolean accept(File directory,String filename)
    {
    return filename.endsWith("."+extension);
    }
    }