今天写段改名的代码,目的就是把视频中的中文“第三百五十课”改成[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是读取目录下面的文件,另外个方法遍历,这个方法治针对一个文件改名FilerenameTodirectory 

解决方案 »

  1.   

    比如,类的路径是classes/com/a/b/c
    那么改名的文件应该在classes 下
      

  2.   


    没找到改文件,之前也想到过是项目目录下。现在就是想搞明白Unix的root目录相当于WINDOWS下的哪个目录!觉得文件也许就是那个根下面因为记得学IO时候教程里面说过JAVA对文件操作是独立于系统之外的操作。
      

  3.   


    很费解,在那台电脑上试了,没有,就是项目目录对吧!System.getProperty("user.dir") User's current working directory
      

  4.   


    很费解,在那台电脑上试了,没有,就是项目目录对吧!System.getProperty("user.dir") User's current working directory
    不一定是项目目录,在eclipse里运行时,在项目的根目录,
    在cmd/shell下运行时,是你当时所在的目录。