import java.io.File;
import java.util.LinkedList;
public class ReName {
/** *//**文件重命名
* @param path 文件目录
* @param oldname 原来的文件名
* @param newname 新文件名
*/
public static void renameFile(String path,String oldname){
String newname;//新的文件名和以前文件名不同时,才有必要进行重命名
newname=oldname.replace(" ", "");
File oldfile=new File(path+"//"+oldname);
File newfile=new File(path+"//"+newname);
if(!oldfile.exists()){
return;//重命名文件不存在
}
if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
System.out.println(newname+"已经存在!");
else{
oldfile.renameTo(newfile);
}
}
//遍历文件夹
public static void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath());
String p=file2.getAbsolutePath().substring(0, file2.getAbsolutePath().length()-file2.getName().length());
renameFile(p,file2.getName());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
File temp_file;
while (!list.isEmpty()) {
temp_file = list.removeFirst();
files = temp_file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath());
renameFile(file2.getAbsolutePath(),file2.getName());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
traverseFolder1("E:\\test");
}
}
【Java02】将某路径下所有文件夹名里的空格取消掉
最新推荐文章于 2024-08-14 15:20:45 发布