up

解决方案 »

  1.   

    用FileInputStream 和 FileOutputStream 一读一写应该就可以吧。不过怎么判断一个目录下有多个文件没有试过。去google一下吧。
      

  2.   

    //判断如果是目录
    if (f.isDirectory()) {
                列出该目录下所有文件
                File[] files = f.listFiles();
                for (int i=0;files!=null&&i<files.length;i++) {
                    if (files[i].isDirectory()) {
                        //递归本函数
                        continue;
                    }
                    //处理本文件,使用FileInputStream 和 FileOutputStream 一读一写
                }
            }else{
                //处理本文件,使用FileInputStream 和 FileOutputStream 一读一写
            }
      

  3.   

    /*
         * 文件夹拷贝:例如 e:/bbb -> d:/ccc
         */
        public void folderCopy(String fromDir,String toDir){
            try{
                File oldFolder = new File(fromDir);
                File newFolder = new File(toDir);
                if(!newFolder.mkdir()){
                    newFolder.mkdir();
                }
                String[] file = oldFolder.list();
                File temp = null;
                for(int i=0;i<file.length;i++){
                    if(file[i].endsWith(File.separator)){
                        temp = new File(fromDir + file[i]);
                    }else{
                        temp = new File(fromDir + File.separator + file[i]);
                    }
                    if(temp.isFile()){
                        FileInputStream fis = new FileInputStream(temp);
                        FileOutputStream fos = new FileOutputStream(toDir + "/" + temp.getName().toString());
                        byte[] b = new byte[1024*10];
                        int len = 0;
                        if((len = fis.read(b)) != -1){
                            fos.write(b,0,len);
                            fos.flush();
                            fos.close();
                            fis.close();
                        }
                    }
                    if(temp.isDirectory()){
                        folderCopy(fromDir + "/" +file[i],toDir + "/" + file[i]);
                    }
                }
            }catch(Exception e){
                System.out.println("文件夹拷贝时出错了!!!");
            }
        }
      

  4.   

    可以用递归来实现,也可以用while.最快的方法是调File类的rename(参数)方法.直接改文件分区表(好象叫这名字).很好写的,1个钟头都不要