先把一个目录list出来然后再循环读呗

解决方案 »

  1.   

    如下:
    我可能记错了一些API,检查一下! -)
      File file = new File("/mnt/");
      File[] files = file.listFiles();
      for (int i=0;i<files.length;i++)
      {
      }
      

  2.   

    public void controlFile(File formFolder){
            //File formFolder = new File("c:\")
            File[] fileList = fromFolder.listFiles();
            for (int i = 0; i < fileList.length; i++) {            if (tempFile.isFile()) {
                    //对该文件进行操作
                } else {
                    controlFile(tempFile);
                }
                
            }
    }
      

  3.   

    刚写了一段代码,用语拷贝一个文件夹里的所有文件,包括文件里面的内容
    package copyfile;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    import java.io.*;
    public class CopyDir {
      public CopyDir() {
      }
      //构造函数,用于输入两个目录。
      public CopyDir(String  source,String dest){
        createDir(new  File(source),new  File(dest));
        System.out.println(new  File(dest).getPath()+File.separator);
      }
      //
      public void createDir(File  src_path,File  dest_path){
        File[] files = src_path.listFiles();
        for (int i = 0; i < files.length; i++) {
          File src = files[i];
          File dest = new File(dest_path.getPath() + File.separator +
                               files[i].getName());      if (!src.isDirectory())
            copyFile(src, dest);
    //查找是不是有下一个文件夹,有的话,进行循环复制
          if (src.isDirectory()){
            File dest_filepath = new File(dest_path+"\\"+src.getName());        dest_filepath.mkdirs();        String  dpath = dest_path+"\\"+src.getName();
            String  spath = src_path+"\\"+src.getName();        CopyDir dir = new CopyDir(spath, dpath);      }
        }
      }
       //用于目录文件的拷贝
        public  void  copyFile(File  src,File  dest){
        try{
            System.out.println(src.getAbsoluteFile()+"  ->  "+dest.getAbsoluteFile());
            FileInputStream  in  =  new  FileInputStream(src);
            FileOutputStream  out  =  new  FileOutputStream(dest);
            byte[]  buffer  =  new  byte[1024];
            int  length  =  -1;
            while((length=in.read(buffer))!=-1){
                            out.write(buffer,0,length);
            }
            out.flush();
            out.close();
            in.close();
            System.out.println("文件复制成功!");
        }catch(Exception  e){
            System.out.println("文件复制失败!");
        }
    }
    }希望对你有用