由于Linux中的安装量不同,File Move会抛出IOException

时间:2011-07-20 16:29:08

标签: java file-io

您好我的java程序必须将文件移动到位于不同安装文件夹中的文件夹。 我想将其视为普通文件夹路径并使用

移动文件
boolean success = file.renameTo(new File(dir, file.getName()));

它始终将状态设置为false并且文件未移动。

当我尝试使用filechannel.transferFrom(fcSource, 0, fcSource.size());时,它会抛出IO Exception。

SEVERE 20110720 15.41.29 AccessLogProcessor:moveToArchive-File
    [/opt/apache2/logs/access_log.20110620.0015.tmp] move to
    [/opt/ahache2/logs/old] not success.. Try Special move with filechannel
SEVERE 20110720 15.41.29 AccessLogProcessor:moveToArchive-SpecialFileMove for file
     [/opt/apache2/logs/access_log.20110620.0015.tmp] failure
    ERROR:java.io.IOException: **No such file or directory

linux中的目标文件夹看起来很正常,我的id没有权限问题。文件夹/opt/ahache2/logs/old是已安装的文件夹。

1 个答案:

答案 0 :(得分:1)

关于'renameTo'返回false,并根据API

  

此方法是否可以将文件从一个文件系统移动到另一个文件系统取决于平台。应始终检查返回值以确保重命名操作成功。

所以也许你不能用'renameTo'做你想做的事。