Java删除文件夹和其子文件、文件的拷贝和剪切

时间:2021-08-23 07:44:38

 1、递归删除目录下的所有文件及子目录下所有文件

//递归删除目录下的所有文件及子目录下所有文件
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
//递归删除目录中的子目录下
System.gc();//强制删除被进程占用的图片
for (int i=; i<children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// 目录此时为空,可以删除
return dir.delete();
}

2、拷贝:从源地址拷贝文件到目的地址

/**
* 从源地址拷贝文件到目的地址
* @param source:源地址
* @param dest:目的地址
*/
public static void copyFile(String source, String dest){
InputStream input = null;
OutputStream output = null;
try {
input = new FileInputStream(source);
output = new FileOutputStream(dest);
byte[] buf = new byte[];
int bytesRead;
while ((bytesRead = input.read(buf)) > ) {
output.write(buf, , bytesRead);
}
} catch(IOException e) {
e.printStackTrace();
} finally {
try {
if(input != null) {
input.close();
}
if(output != null) {
output.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

3、剪切

(1)先复制:同第二步

(2)后删除:同第一步

OK