日期:2014-05-20  浏览次数:20588 次

文件到哪里去了?改名引起
今天写段改名的代码,目的就是把视频中的中文“第三百五十课”改成[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 ~
------解决方案--------------------
引用:
System.getProperty("user.dir")