java - 重命名后的文件长度

时间:2013-12-11 19:12:18

标签: java

一个简单的问题,我有以下java代码:

File file = new File("myFile.xls");
file.renameTo("mySecondFile.xls");
System.out.println(file.length());

如果我运行它,我看到文件名称更改正确,但奇怪的是file.length()返回0(并且文件不为空)

有什么想法吗? 谢谢

2 个答案:

答案 0 :(得分:3)

File是不可变的。它始终指向您使用它创建的文件路径。

因此,当您重命名文件时,File对象指向的文件不再存在(已重命名),并且文件长度为0。

另请参阅javadoc

答案 1 :(得分:2)

试试这个:

File file = new File("myFile.xls");
file.renameTo("mySecondFile.xls");
File file2 = new File("mySecondFile.xls");
System.out.println(file2.length());