Java递归调用File类删除和拷贝文件夹

2025-11-22 08:04:17

1、删除文件夹前首先要获取该文件夹下的所有的文件和文件夹数组,然后遍历该数组,在遍历过程中若判断是文件就直接删除,如果是文件夹则递归调用该删除方法。循环结束后,要把空文件夹删除(删除里面的文件和文件夹后还需要把最外面的文件夹删除掉),注意事项:被删除的文件夹是不会进入到回收站的,删除后便难以恢复,请谨慎操作。

Java递归调用File类删除和拷贝文件夹

2、在调用删除方法前,我们还需要一个从控制台直接输入获取文件路径的方法,该方法在此处不再赘述,具体请参考下文。

Java递归调用File类删除和拷贝文件夹

3、下面在main方法中测试该删除文件夹的方法是否有效,点击运行main方法后,控制台中提示“请输入文件路径”,然后在下面输入本机一个有效的文件夹路径,点击回车即可,再次提醒该文件删除后不会进入回收站,请勿错删有用的文件。

Java递归调用File类删除和拷贝文件夹

1、执行文件拷贝操作我们需要从键盘接收两个文件夹路径,并把其中一个文件夹包含内容拷贝到另一个文件夹中。首先需要实现在目标文件夹中创建源文件夹,

然后再获取源文件夹中所有的文件和文件夹,存储在File数组中。

Java递归调用File类删除和拷贝文件夹

2、然后遍历该File数组, 如果是文件就用IO流读写,因为IO流只能读写文件,不能读写文件夹。如果是文件夹则需要递归调用,注意在操作完成后不要忘记关闭流同时需要抛出或捕获异常。

Java递归调用File类删除和拷贝文件夹

3、上述步骤完成后,在main方法中调用获取文件路径的方法和文件拷贝的方法,执行main方法后,需要在控制台输入源文件夹路径和目的文件夹路径,点击回车即可完成操作。

Java递归调用File类删除和拷贝文件夹

4、需要注意的是源文件夹和目的文件夹一定不能是同一个文件夹,否则会导致文件夹不停地生成最后内存溢出。因此在main方法中需要判断目标文件夹和源文件夹是否是同一个,若是则提示信息,若不是则正常执行拷贝操作。

Java递归调用File类删除和拷贝文件夹

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢