首页 > 编程 > Java > 正文

java将一个目录下的所有数据复制到另一个目录下

2019-11-26 08:42:59
字体:
来源:转载
供稿:网友

本文实例为大家分享了java将一个目录下的所有数据复制到另一个目录下的具体代码,供大家参考,具体内容如下

/*  将"C://JavaProducts//Source"下的所有数据复制到"C://Target"下*/import java.io.*;public class JavaCopyDemo{  final static String SOURCESTRING = "C://JavaProducts//Source";  final static String TARGETSTRING = "C://Target";    public static void main(String[] args){    if(!(new File(SOURCESTRING)).exists()){      System.out.println("源文件" + SOURCESTRING + "不存在,无法复制!");      return;    }else if((new File(TARGETSTRING)).exists()){      System.out.println("目标文件" + TARGETSTRING + "已经存在,无法复制!");      return;    }else{      if((new File(SOURCESTRING)).isFile()){        copyFile(new File(SOURCESTRING),new File(TARGETSTRING));      }else if((new File(SOURCESTRING)).isDirectory()){        copyDirectory(SOURCESTRING,TARGETSTRING);      }    }  }    private static void copyFile(File sourceFile,File targetFile){    if(!sourceFile.canRead()){      System.out.println("源文件" + sourceFile.getAbsolutePath() + "不可读,无法复制!");      return;    }else{      System.out.println("开始复制文件" + sourceFile.getAbsolutePath() + "到" + targetFile.getAbsolutePath());      FileInputStream fis = null;      BufferedInputStream bis = null;      FileOutputStream fos = null;      BufferedOutputStream bos = null;            try{        fis = new FileInputStream(sourceFile);        bis = new BufferedInputStream(fis);        fos = new FileOutputStream(targetFile);        bos = new BufferedOutputStream(fos);        int len = 0;        while((len = bis.read()) != -1){          bos.write(len);          }        bos.flush();              }catch(FileNotFoundException e){        e.printStackTrace();        }catch(IOException e){        e.printStackTrace();      }finally{        try{          if(fis != null){            fis.close();            }          if(bis != null){            bis.close();            }          if(fos != null){            fos.close();            }          if(bos != null){            bos.close();            }          System.out.println("文件" + sourceFile.getAbsolutePath() + "复制到" + targetFile.getAbsolutePath() + "完成");        }catch(IOException e){          e.printStackTrace();        }      }    }  }    private static void copyDirectory(String sourcePathString,String targetPathString){    if(!new File(sourcePathString).canRead()){      System.out.println("源文件夹" + sourcePathString + "不可读,无法复制!");      return;    }else{      (new File(targetPathString)).mkdirs();      System.out.println("开始复制文件夹" + sourcePathString + "到" + targetPathString);      File[] files = new File(sourcePathString).listFiles();      for(int i = 0; i < files.length; i++){        if(files[i].isFile()){          copyFile(new File(sourcePathString + File.separator + files[i].getName()),new File(targetPathString + File.separator + files[i].getName()));          }else if(files[i].isDirectory()){          copyDirectory(sourcePathString + File.separator + files[i].getName(),targetPathString + File.separator + files[i].getName());        }        }      System.out.println("复制文件夹" + sourcePathString + "到" + targetPathString + "结束");    }  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表