java 编程题
用递归的方法遍历某个目录下的所有的Java文件 顺便问一下 逻辑操作符(&,|,^)和条件操作符(&&,||)的区别

解决方案 »

  1.   

    a && b   只要a为false  就直接返回false  不去判断b
    a & b    只要a和b 都要先去判断   然后在返回true 或 false|和||同上
      

  2.   


    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;public class FileTest
    {
        private static List<File> fileList = new ArrayList<File>();
        
        public static void main(String ...args)
        {
            addFile(new File("F://003"), ".java");
            
            for(File file: fileList)
            {
                System.out.println(file.getName());
            }
        }
        
        public static void addFile(File root, String type)
        {
            File[] files = root.listFiles();
            
            for(File file: files)
            {
                if(file.isDirectory())
                {
                    addFile(file, type);
                }
                else if(file.getName().toLowerCase().endsWith(type.toLowerCase()))
                {
                    fileList.add(file);
                }
            }
        }
    }
      

  3.   

    找某个文件下的所有java文件用文件名.list()方法就行吧   它返回的是一个String[] fileName.list(new FilenameFilter()
                {
                      public boolean accept(File dir, String name)
                      {
                            return name.indexOf(".java") != -1;
                      }
                 });
      

  4.   

    1. File f=new File("D:");
           File[] files=f.listFiles(new FileFilter(){ public boolean accept(File pathname) {
    if(pathname.getName().endsWith(".java"))
    {
    return true;
    }
    return false;
    }});
           for(int i=0;i<files.length;i++)
           {
            System.out.println(files[i].getAbsolutePath());
           }
    2.java的书上都有介绍