java拷贝文件夹和删除文件夹

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-02 13:40:09

1.文件夹的拷贝

public void copy(File src, File dest) throws IOException {
  if (dest.isFile()) {
    throw new RuntimeException(dest + "不是文件夹");
  }
  File file = new File(dest.getPath() + "/" + src.getName());
  if (src.isFile()) {
    FileInputStream fis = new FileInputStream(src);
    BufferedInputStream bis = new BufferedInputStream(fis);
    FileOutputStream fos = new FileOutputStream(file);
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    byte[] bytes = new byte[1024];
    int len;
    while ((len = bis.read(bytes)) != -1) {
      bos.write(bytes, 0, len);
    }

    bis.close();
    fis.close();
    bos.close();
    fos.close();

  } else if(src.isDirectory()){
    file.mkdir();
    File[] files = src.listFiles();
    for (File file2 : files) {
      copy(file2, dest);
    }
  }
}

2. 删除整个文件夹:

public void delete(File dir) {
  if (dir.isDirectory()) {
    File[] files = dir.listFiles();
    for (File file : files) {
      delete(file);
    }
  }
  dir.delete();
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!