file 的renameTo无效是怎么回事?

sAS112UUUYY111 2010-04-01 11:28:03
file 的renameTo无效是怎么回事?
...全文
702 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangyefei 2011-11-26
  • 打赏
  • 举报
回复
同样操作不成功。
hermasx 2011-08-20
  • 打赏
  • 举报
回复
我也是,明明已经关闭了输出流,但是却调用delete()和renameTo(File dest)方法都返回false。
妈的,现在卡在这里,不知道怎么办了。难道要用读了再写的方法?
injuer 2010-04-01
  • 打赏
  • 举报
回复
意思是:告诉你此文件可能正在被操作中,或被某进程,线程使用中...
sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
当重新定义一个输出流时,先前的输出流不是已经丢失了引用了吗?
不是被垃圾回收了吗?
sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
为什么要关闭n次呢?它们是相同的名字
pengzhistar 2010-04-01
  • 打赏
  • 举报
回复
..居然这种问题 ! 文件正在访问中,怎么可以更名的 一定要关闭流之后再重命名!
sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 injuer 的回复:]
意思是:告诉你此文件可能正在被操作中,或被某进程,线程使用中...
[/Quote]

谢谢提示。


我在程序的前部分往硬盘写n个不同的文件,然后在后面将其中的某些文件重命名时,无法完成,
当我在最后关闭了输出流时,重命名失败。
但是我在程序中加了几句代码,每当写完一个文件时,就关闭输出流,
最后,重命名成功了。

在写每个文件是我都创建一个输出流,它们是同名的。
为什么必须在每次写完一个文件后,关闭输出流,而不是在最后关闭一次即可?





pengzhistar 2010-04-01
  • 打赏
  • 举报
回复
看下JDK说明:

renameTo
public boolean renameTo(File dest)重新命名此抽象路径名表示的文件。
此方法行为的许多方面都是与平台有关的:重命名操作无法将一个文件从一个文件系统移动到另一个文件系统,该操作可能不是原子的,如果已经存在具有目标抽象路径名的文件,则该操作可能无法获得成功。应该始终检查返回值,确保重命名操作成功。

sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
如果前面写了File file=New File("a.txt");
在后面再写File file=New File("a.txt");时,是否要进行某些取消操作吗?
sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 injuer 的回复:]
意思是:告诉你此文件可能正在被操作中,或被某进程,线程使用中...
[/Quote]

文件已经写完成,并且关闭了流,还是false
sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
boolean b=file.renameTo(file2);
返回值是false
aSysBang 2010-04-01
  • 打赏
  • 举报
回复
看报的什么错误呀 。。。
sAS112UUUYY111 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 injuer 的回复:]
意思是:告诉你此文件可能正在被操作中,或被某进程,线程使用中...
[/Quote]
我把写文件的流关闭了,还是不行

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧