递归删除指定文件夹
package org.westos.demo01;
import java.io.File;
public class DeleteDir {
static String Dirname="F:\\IDEA";
public static void main(String[] args) {
File sf = new File(Dirname);
deleteDir(sf);
System.out.println("删除文件夹"+Dirname+"成功");
}
private static void deleteDir(File sf) {
File[] filearray=sf.listFiles();
for (File file : filearray) {
if(file.isFile()){
file.delete();
}else {
deleteDir(file);
}
}
}
}
递归复制文件夹
package org.westos.demo01;
import java.io.*;
public class DeleteDir {
static String sourceDirname="F:\\DTLFolder";
static String copyDirname="D:\\DTLFolder";
public static void main(String[] args) {
File sf = new File(sourceDirname);
File tf = new File(copyDirname);
if(!tf.exists()){
tf.mkdir();
}
copyDir(sf,tf);
System.out.println("复制文件夹"+sourceDirname+"成功");
}
private static void copyDir(File sf, File tf) {
File[] sfiles = sf.listFiles();
for (File sfile : sfiles) {
if(sfile.isFile()){
copyfile(sfile,tf);
System.out.println("复制"+sf.getName()+"文件成功");
}else {
File newDir = new File(tf.getAbsoluteFile(),sfile.getName());
newDir.mkdirs();
copyDir(sfile,newDir);
System.out.println("复制"+newDir.getName()+"文件夹成功");
}
}
}
private static void copyfile(File sfile, File tf) {
try (
FileInputStream in = new FileInputStream(sfile.getAbsoluteFile());
FileOutputStream out=new FileOutputStream(tf.getAbsoluteFile()+"\\"+sfile.getName())
)
{
byte[] buff = new byte[1024 * 8];
int hasRead=0;
while ((hasRead=in.read(buff))>0){
out.write(buff);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}