import java.io.*;public class FileSearch
{public static void searchSubDir(File dir)
{File[] fileArray=dir.listFiles();
for(int i=0;i<fileArray.length;i++)
if(fileArray[i].lsFile())
{String fileName=fileArray[i].getName();
if(fileName.endsWith("txt"))
{System.out.print(fileName);
}
}
else{
         searchSubDir(fileArray[i]);  }
}
public static void main(String[] args)
{
     if(args.length<1)
{
         System.out.println("请输入完整的目录路径(比如:c:\windows)!");//出错信息在此行
 System.exit(0); }
       String root=args[0];
   searchSubDir(new File(root));
}哪错了?那一行有非法字符么?我没检查出来

解决方案 »

  1.   

    import java.io.*;public class FileSearch
    {
    public static void searchSubDir(File dir)
    {
    File[] fileArray=dir.listFiles();

    for(int i=0;i<fileArray.length;i++)
    if(fileArray[i].isFile())
    //lsFile()改为isFile()
    {
    String fileName=fileArray[i].getName();
           if(fileName.endsWith("txt"))
    {
    System.out.print(fileName);
    }
    }
          else{
                  searchSubDir(fileArray[i]);       }
    }
    public static void main(String[] args)
    {
         if(args.length<1)
    {

            System.out.println("请输入完整的目录路径(比如:c:\\windows)!");//出错信息在此行
                                             
                    //       \改为\\  System.exit(0); }
           String root=args[0];
       searchSubDir(new File(root));
    }
    }
      

  2.   

    SearchTxtFile.java:3: class FileSearch is public, should be declared in a file named FileSearch.java
    public class FileSearch
    改过之后出现这样的新问题
    何解?多谢。。       ^
      

  3.   

    看来你是个新手哈。
    把Java文件的名字改成FileSearch.java
      

  4.   

    真是怪了,我试了已没问题了先去掉public 试试不过加public 类名应该跟文件名相同
      

  5.   

    好强,,,去掉public问题解决,但是不知道为什么这样能解决?
      

  6.   

    嘿嘿,不加public 
    类名可以和文件名不一样,最好还是要一样
      

  7.   

    而且只解决了编译通过,执行还是不行,出现Exception in thread "main" java.lang.NoClassDefFoundError:SearchTxtFile
      

  8.   

    SearchTxtFile.java:3: class FileSearch is public, should be declared in a file named FileSearch.java
    public class FileSearch
    改过之后出现这样的新问题
    何解?多谢。。       ^楼主实在是粗心啊!
    SearchTxtFile.java是你的文件,类名是FileSearch。两者必须一样,如果是pulbic class的话。
      

  9.   

    嘻嘻。classpath删除后,重起机子解决。。多谢大家。都这么热心。。