Java移动文件夹及其所有子文件与子文件夹
在Java移动文件夹及其所有子文件与子文件夹可以有如下的一段简单的方法来说明:
publicstaticvoidmoveFolder(StringoldPath,StringnewPath){
//先复制文件
copyFolder(oldPath,newPath);
//则删除源文件,以免复制的时候错乱
deleteDir(newFile(oldPath));
}
不应该直接剪切文件,防止在剪切的时候出错,导致这样那样的问题。
在Java复制文件夹及其所有子文件与子文件夹,在《【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作》(点击打开链接)一文中已经详细说过了。
关键是删除文件夹及其子文件与子文件夹。
在Java中,File类的delete()方法只能删除为空的文件夹或者单个文件,因此必须遍历整个文件夹,先从最内层的文件夹中的文件开始,进行递归删除,具体方法如下:
//删除某个目录及目录下的所有子目录和文件
publicstaticbooleandeleteDir(Filedir){
//如果是文件夹
if(dir.isDirectory()){
//则读出该文件夹下的的所有文件
String[]children=dir.list();
//递归删除目录中的子目录下
for(inti=0;i
因此,整个方法连起来就是这个样子,把C盘下的A文件夹及其所有子文件与子文件夹,移动到F盘,并且重新命名:
importjava.io.*;
publicclassCutTest{
//删除某个目录及目录下的所有子目录和文件
publicstaticbooleandeleteDir(Filedir){
//如果是文件夹
if(dir.isDirectory()){
//则读出该文件夹下的的所有文件
String[]children=dir.list();
//递归删除目录中的子目录下
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。