package my.file;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class TravelAllFile {
public static void main(String[] args) {
String path = "E:/文件夹";
File f = new File(path);
if (f.isDirectory()) {
new TravelAllFile().getFileName(f);
}
delFolder("E:/文件夹");
System.out.println("deleted");
}
// 递归查找函数,参数为file对象
public void getFileName(File f) {
// File 数组
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
// 递归出子目录
if (files[i].isDirectory()) {
System.out.println("子目录是:" + files[i].getName());
getFileName(files[i]);
// 递归出子文件
} else {
System.out.println(files[i].getName());
}
}
}
//重命名
public void rename(){
File fl=new File("E:\\文件夹"); // 这里写上发替换的文件夹路径,注意使用双斜杠
String[] files=fl.list();
File f=null;
String filename="";
for(String file:files)
{
f=new File(fl,file);// 注意,这里一定要写成File(fl,file)如果写成File(file)是行不通的,一定要全路径
filename=f.getName();
// System.out.println(filename);
f.renameTo(new File(fl.getAbsolutePath()+"\\"+filename.replace("要替换掉的内容", "替换成的内容")));// 这里可以反复使用replace替换,当然也可以使用正则表达式来替换了
}
}
//删除文件夹
//param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
//删除指定文件夹下所有文件
//param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
......