Java拷贝文件夹和删除文件夹代码实例

 更新时间:2020年04月03日 11:49:05   作者:dirsoen  
这篇文章主要介绍了Java拷贝文件夹和删除文件夹代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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();
}

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

相关文章

  • 使用Java实现类似Comet风格的web app

    使用Java实现类似Comet风格的web app

    这篇文章主要介绍了使用Java实现类似Comet风格的web app的方法,包括客户端的响应和XML解析等功能,需要的朋友可以参考下
    2015-11-11
  • java实现录音播放功能

    java实现录音播放功能

    这篇文章主要为大家详细介绍了java实现录音播放功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Java判断2个List集合是否相等(不考虑元素的顺序)

    Java判断2个List集合是否相等(不考虑元素的顺序)

    今天小编就为大家分享一篇关于Java判断2个List集合是否相等(不考虑元素的顺序)的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 使用Sentinel实现流控和服务降级的代码示例

    使用Sentinel实现流控和服务降级的代码示例

    Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,本文将详细为大家介绍如何使用Sentinel实现流控和服务降级,文中有相关的代码示例,需要的朋友可以参考下
    2023-05-05
  • MybatisPlus 连表查询、逻辑删除功能实现(多租户)

    MybatisPlus 连表查询、逻辑删除功能实现(多租户)

    这篇文章主要介绍了MybatisPlus 连表查询、逻辑删除功能实现(多租户),本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • Java动态代理和AOP应用示例

    Java动态代理和AOP应用示例

    这篇文章主要介绍了Java动态代理和AOP应用,结合实例形式分析了java动态代理在AOP面向切面编程中的相关操作技巧与使用注意事项,需要的朋友可以参考下
    2019-07-07
  • SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

    SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

    MyBatis-Plus 是 MyBatis 的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方式,包括常规的 SQL 查询、Lambda Query 查询、分页查询、条件查询等,在本篇博客中,我们将详细讲解如何使用 MyBatis-Plus 的各种查询方式,需要的朋友可以参考下
    2025-01-01
  • 使用Guava Cache原理及最佳实践

    使用Guava Cache原理及最佳实践

    文章介绍了GuavaCache,这是一种支持高并发的本地缓存,它支持多种回收策略,如基于容量、时间和引用的回收,并提供了自动加载、定时刷新和显式清除缓存的功能,文章还讨论了GuavaCache的适用场景和使用方法,并通过代码示例和源码分析,帮助读者更好地理解和使用GuavaCache
    2025-02-02
  • Java单例模式的线程安全,饿汉和懒汉模式详解

    Java单例模式的线程安全,饿汉和懒汉模式详解

    这篇文章主要为大家详细介绍了Java单例模式的线程安全,饿汉和懒汉模式。文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • SpringSecurity解决POST方式下CSRF问题

    SpringSecurity解决POST方式下CSRF问题

    本文主要介绍了SpringSecurity解决POST方式下CSRF问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论