1,删除文件夹
public static void main(String[] args) {
//删除一个文件夹
File file = new File("E:\\jieyaaaa");
deleteFolder(file);//创建方法
//file.delete();
System.out.println("文件夹删除成功");
}
private static void deleteFolder(File file) {
//获取此目录下的所有文件和文件夹
File[] files = file.listFiles();
for (File f : files) {
if(f.isFile()){//如果是文件则删除
f.delete();
}else{
//是文件夹,那就递归
deleteFolder(f);//重复方法
}
}
file.delete();
}
2,修改文件名
public static void main(String[] args) {
//修改文件后缀名
File file = new File("E:\\jieya");//指定文件夹位置
updateFile2(file);//创建方法
}
private static void updateFile2(File file) {
//如果传过来的是文件夹
if (file.isDirectory()) {
//遍历文件夹
File[] files = file.listFiles();
for (File f : files) {
//如果是文件就改名
if (f.isFile() && f.getName().endsWith(".jpg")) {//j以.jpg结尾的文件
String absolutePath = f.getAbsolutePath();//返回绝对路径名字符串
String substring = absolutePath.substring(0, absolutePath.lastIndexOf("."));//截取路径从0到最后一次出现"."的地方
File newFile = new File(substring + ".png");//在截取后的名字后边加上".png"
f.renameTo(newFile);//该名字
} else {
//是文件夹就递归
updateFile2(f);//再次调用该方法
}
}
} else {
//如果是文件
// System.out.println(file);
}
}
3,复制文件夹
import java.io.*;
public class CopyFileDemo {
public static void main(String[] args) throws Exception {
CopyDir("D:\\jieya","E:\\test"); //创建复制方法
System.out.println("复制完成");
}
private static void CopyDir(String src, String des) throws IOException {
//初始化输入文件
File file1=new File(src);
//将文件放入数组
File[] fs=file1.listFiles();
//初始化输出文件
File file2=new File(des);
//判断有没有输出的文件,如果没有则建立
if(!file2.exists()){
file2.mkdirs();
}
//遍历文件夹中的内容
for (File f : fs) {
//如果是文件,则调用复制方法
if (f.isFile()){
fileCopy(f.getPath(),des+"\\"+f.getName());
}else if(f.isDirectory()){
CopyDir(f.getPath(),des+"\\"+f.getName());//继续调用复制方法
}
}
}
private static void fileCopy(String src, String des) throws IOException {
//IO流固定格式
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(des));
//记录获取长度
int len = -1;
//缓冲区
byte[] bytes = new byte[1024*8];
while ((len=bis.read(bytes))!=-1){
bos.write(bytes,0,len);
}
bis.close();
bos.close();
//释放资源
}
}