使用openjdk-6-jdk重命名

时间:2012-10-09 12:07:03

标签: java

我在我的机器linux上安装了openjdk-6-jdk,函数renameTo不起作用? 请问你有关于这个问题的想法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

  

在运行时程序不重命名文件(它不移动文件)..当程序将在新目标中使用该文件时我有一个错误(当我在我的代码java中插入命令linux mv时工作!!!)

根据这些症状,我说您正在尝试将文件从一个文件系统重命名为另一个文件系统。

" mv"命令可以执行此操作,但File.renameTo(...)不能。 (顺便说一下,"重命名"系统调用也不行。)这不是OpenJDK错误。相反,它是一个记录的限制。 javadoc说明了这一点:

  

"此方法行为的许多方面本质上都依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,它可能如果已存在具有目标抽象路径名的文件,则不会成功。应始终检查返回值以确保重命名操作成功。

     

请注意,Files类定义了以独立于平台的方式移动或重命名文件的移动方法。"


它在其他机器上工作的事实可能只是因为移动的源和目标位于同一文件系统中。