A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

复制D盘下所有的java文件到java.txt文件中,下面是代码
  1. package filedemo;

  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.FilenameFilter;
  5. import java.io.IOException;

  6. public class GetDir {

  7.         public static void main(String[] args) {
  8.                 // TODO Auto-generated method stub
  9. //                File src = new File("d:\\java_code");
  10.                 File src = new File("d:\\");
  11.                
  12.                 File dest = new File("java.txt");
  13.                 getDir(src,dest);
  14.                
  15.         }

  16.         private static void getDir(File src, File dest) {
  17.                 // TODO Auto-generated method stub
  18. //               
  19.                 File[] listFiles = src.listFiles();
  20.                 for(File f:listFiles){
  21.                         if(f.isDirectory()){
  22.                                 getDir(f,dest);
  23.                         }
  24.                         else{
  25.                                 if(f.isFile()&&f.getName().endsWith(".java")){
  26.                                         copyDir(f,dest);
  27.                                 }
  28.                         }
  29.                 }
  30. //                src.listFiles(new FilenameFilter(){
  31. //
  32. //                        @Override
  33. //                        public boolean accept(File dir, String name) {
  34. //                                // TODO Auto-generated method stub
  35. //                                return false;
  36. //                        }
  37. //                       
  38. //                });
  39.                
  40.         }

  41.         private static void copyDir(File f, File dest) {
  42.                 // TODO Auto-generated method stub
  43.                 String dir=f.getAbsolutePath();
  44.                 FileWriter fw=null;
  45.                 try {
  46.                         fw = new FileWriter(dest,true);
  47.                         fw.write("\r\n");
  48.                         fw.write(dir);
  49.                         fw.flush();
  50.                 } catch (IOException e) {
  51.                         // TODO Auto-generated catch block
  52.                         e.printStackTrace();
  53.                 }finally{
  54.                         try {
  55.                                 fw.close();
  56.                         } catch (IOException e) {
  57.                                 // TODO Auto-generated catch block
  58.                                 e.printStackTrace();
  59.                         }
  60.                 }
  61.         }

  62. }
复制代码
然后,如果源路径是d:\\java_code就可以得出结果,如果是d:\\就会报空指针异常,请大神解惑,O(∩_∩)O谢谢

1 个回复

倒序浏览
我也遇到了 坐等大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马