iteye_3558 2012-07-27 10:27
浏览 404
已采纳

java.io.File.renameTo会删除源文件?

现在我有一个操作,需要调用java.io.File.renameTo这个方法重命名文件。实现代码大致如下,
[code="java"]public void reNameFile() {
File file = new File(
"C:\folderA\sample.zip");
File newFile = new File("C:\folderB\sample.zip");
boolean reNameOK = file.renameTo(newFile);
boolean deleteOK = file.delete();
if (reNameOK) {
System.out.println("rename ok");
}
if((deleteOK){
System.out.println("delete ok");
}
}[/code]
我发现在调用renameTo之后,在把sample.zip放到folderB中的同时,folderA中的sample.zip也被删除了,这样一来当调用delete的时候,返回值deleteOK就是false。这是我在windows下测试的结果,不知道在linux下是怎么样的。如果renameTo在linux下也能删除源文件,是不是就不需要调用delete了?

  • 写回答

2条回答 默认 最新

  • weixin_42608382 2012-07-27 10:49
    关注

    :D 这个方法实际在linux下有可能会失败。不能保证不同平台下一样好用!~~不建议使用。由于安全性及系统盘符所使用的文件格式不一样导制失败(NTFS、FAT32)!
    commons-io包里面的
    [code="java"]FileUtils.copyFile(File,File)[/code]

    自己写个copy的方法也是个不错的选择!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 python使用pulp线性优化时报错
  • ¥15 开源或低价数据中台哪个最好
  • ¥15 arduino编程出现字符串疑似覆盖现象
  • ¥15 我的b站在没有碰到屏幕的情况下偶尔会自动跳出进度条,就像在屏幕上点了一下一样,但我并没有点。而且视频进度并没有变。这可能是什么原因造成的?
  • ¥30 STK matlab python仿真
  • ¥15 关于IMageEnView 图标定位问题
  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题