利用递归的方法删除和拷贝文件原理很简单:程序自己调用自己实现文件的删除和拷贝,代码如下:

import java.io.*;

public class Dptest {

//删除指定文件夹下的所有文件及根文件夹

public void deleteFile(String path) {

File f = new File(path);

if(f.isDirectory())

{

File[] file = f.listFiles();

for (File file2 : file) {

this.deleteFile(file2.toString());

file2.delete();

}

}else{

f.delete();

}

f.delete();

}

//拷贝整个文件夹的方法

public void copyFiles(String path1, String path2) throws Exception {

File file = new File(path1);

if(file.isDirectory()){

File f = new File(path2);

if(!f.exists()) f.mkdir();

File[] files = file.listFiles();

for (File file2 : files) {

//System.out.println(file2.toString()+"-----"+path2+"/"+file2.getName());

copyFiles(file2.toString(),path2+"/"+file2.getName());

}

}else{

copy(path1,path2);

}

}

//拷贝单个文件的方法

public void copy(String path1,String path2) throws IOException {

DataInputStream in = new DataInputStream(

new BufferedInputStream(

new FileInputStream(path1)));

byte[] date = new byte[in.available()];

in.read(date);

DataOutputStream out = new DataOutputStream(

new BufferedOutputStream(

new FileOutputStream(path2)));

out.write(date);

in.close();

out.close();

}

public static void main(String[] args) throws Exception {

Dptest dp = new Dptest();

dp.deleteFile("c:/xxx");

// dp.copyFiles("c:/yyy", "c:/zzz");

}

}

java中使用递归方法删除_删除和拷贝文件递归方法(Java实现)相关推荐

  1. java中解密的思想_北大青鸟翔天解密,Java核心思想两大点

    Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少.对核心概念和思想的掌握可以帮助我们举一反三.触类旁通,有助于提升我们对整个J ...

  2. java中arraycopy的用法_[jdk源码阅读系列]Java中System.arraycopy()的用法

    本文转载,原文链接: 3分钟了解Java中System.arraycopy的用法 - 伊万夫斯基 - 博客园  https://www.cnblogs.com/benjieqiang/p/114288 ...

  3. java中二进制怎么说_面试常用:说清楚Java中synchronized和volatile的区别

    回顾一下两个关键字:synchronized和volatile 1.Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized.v ...

  4. java中Solution怎么用_【leetcode】solution in java——Easy4

    16:Invert Binary Tree 此题:以根为对称轴,反转二叉树. 思路:看到二叉树,我们第一时间要想到处理二叉树的常用方法--BFS.DFS,更常用的是DFS.此题我们先用BFS来思考:B ...

  5. java中异常+连接重置_是什么导致我的java.nett.ocketException:连接重置?

    是什么导致我的java.nett.ocketException:连接重置? 我们看到了频繁但断断续续的情况.java.net.SocketException: Connection reset我们日志 ...

  6. java中sql模糊查询_模糊查询的sql语句(java模糊查询sql语句)

    模糊查询的sql语句(java模糊查询sql语句) 2020-07-24 11:06:02 共10个回答 假设表名为product,商品名为name,简界为remark.则可如下写:select[na ...

  7. java中fork什么意思_最通俗的例子讲解Java中的fork-join

    public class SumArray { private static class SumTask extends RecursiveTask{ private final static int ...

  8. java中io是什么_深入理解Java中的IO

    深入理解Java中的IO 转载自:http://blog.csdn.net/qq_25184739/article/details/51205186 本文的目录视图如下: Java IO概要 a.Ja ...

  9. java中execution的作用_一文初步了解Java虚拟机

    大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制.编译过程和如何对Java程序进行调优相信都会有一个很好的认知. 什么是JVM? JVM(Java Virtual Machin ...

  10. java中的复合数据类型是什么_【填空题】类是Java中的一种重要的复合数据类型,是组成Java程序的基本要素。一个类的实现包括两部分:____和_____....

    [填空题]类是Java中的一种重要的复合数据类型,是组成Java程序的基本要素.一个类的实现包括两部分:____和_____. 更多相关问题 [名词解释] 观叶树木 [单选] 开花时有浓郁香气的树种是 ...

最新文章

  1. @PropertySource@ImportResource@Bean
  2. Ant Design Pro入门之部署安装
  3. shell的变量以及常见符号
  4. php 如何获取表格数据类型,使用phpword获取doc中的表格数据
  5. fruncm server sql 无法生成 线程_SQL Server无法生成FRunCM线程的解决方法
  6. python4发布,Python 2.7.4、3.2.4、3.3.1版本发布
  7. 枚举与Lambda表达式
  8. NET EF 连接Oracle 的配置方法记录
  9. Wine 0.9.37
  10. 【操作系统】死等状态、忙等状态、有限等待、让权等待
  11. POJ1149PIGS
  12. FLEX中Tree默认展开全部节点
  13. 在 Mac 上如何使用 iCloud 钥匙串保护信息安全?
  14. Kafka从上手到实践 - Kafka CLI:Reseting Offset Config CLI | 凌云时刻
  15. bootstrap在php中怎弄,bootstrap插件怎么用
  16. 单片机4*4矩阵键盘的原理
  17. 数据库索引:索引并不是万能药
  18. TOOLTIPS 的相关用法
  19. auto头文件 qt_C++ auto 关键字的使用
  20. 1.DDD中的领域对象、值对象、聚合根

热门文章

  1. 一块V100运行上千个智能体、数千个环境,这个曲率引擎框架实现RL百倍提速
  2. FlatNCE:小批次对比学习效果差的原因竟是浮点误差?
  3. AAAI 2020 | NAS+目标检测:AI设计的目标检测模型长啥样?
  4. ACL 2019开源论文 | 基于图匹配神经网络的跨语言知识图对齐
  5. RoBERTa中文预训练模型:RoBERTa for Chinese
  6. 线下沙龙 × 上海 | 小身材大能量!用英伟达智能小车Jetbot玩转深度学习
  7. HihoCode1721删除一个字符之后是回文字符串
  8. 【组合数学】第一类,第二类斯特林数(Stirling),Bell数
  9. json schema多种形式_什么是JSON Schema?及其应用方式......
  10. SpringBoot 配置 generator代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)