今天写段改名的代码,目的就是把视频中的中文“第三百五十课”改成[351]好方便文件排名
代码写好第一次测试时候,谢了一个目录的文件,命名都是第***课,然后用的FIle的renameTo去改名的,但是新名字时候忽略了路径,结果目录全空了,想请问那些文件那里去了,因为renameTo的返回值都显示true了,但是不知道怎么找到它们!
private void reFileName(String directory, File file)
{
// 截字符串subFileString(fileName)
// 新字符串"[ "+subFileString2Num(subFileString(fileName))+" ]"
String fileName = file.getName();
String temp = subFileString(fileName);
String fileNewName = fileName.replaceFirst(beginString + temp + endString, "[" + subFileString2Num(temp) + "]");
file.renameTo(new File(directory + "/" + fileNewName));
}
其它代码咱就不关注了(无非是怎么整理出来个自己想要的新名字),就这么一句
file.renameTo(new File(directory + "/" + fileNewName));
与
file.renameTo(new File(fileNewName));
区别,谁给我说下,用第2句时候文件飞哪里去了?求明白
备注:
directory是传进来的目录,
file是读取目录下面的文件,
另外个方法遍历,这个方法治针对一个文件改名
File renameTo directory?
------解决方案--------------------
在该java项目的同级目录下
------解决方案--------------------
比如,类的路径是classes/com/a/b/c
那么改名的文件应该在classes 下
------解决方案--------------------
System.getProperty("user.dir")
------解决方案--------------------
看看用户目录 cd ~
------解决方案--------------------