Java类库中File类的renameTo()方法使用说明

对于File类中的renameTo()方法,可以如下方式调用:

File old = new File(source);

File rname = new File(dest);
System.out.println(old.renameTo(rname));

使用时,注意事项为:

1.source不管是代表一个目录,还是一个文件的路径都必须是在磁盘上存在的,如:E:\access\A代表,在E盘的access文件夹下有一个名字为A的文件夹;或E:\access\cookie2.java表示在E盘的access文件夹下有一个名字为cookie2.java的文件。

2.dest则恰恰相反,代表一个不存在的目录或文件路径(仅限最后一个'\'后面文件夹或文件的不存在,其余的目录必须已存在)

其中1,2两点必须同时具备,否则出错(返回false)。

更详细说明为:

1)、source=“文件路径”->dest=“文件路径”,如:操作前目录结构右图示:,source="E:\access\B\C\LibTest.java",dest="E:\access\A\noexist.java"。操作后,会在A目录下成功生成一个noexist.java文件(之前不存在),同时删除C目录下的LibTest.java文件。注意:此时source中的路径必须是一个真实存在的路径;同时,对于dest来说,E:\access\A也必须存在,但是不能在操作前就已近有一个noexist.java存在了(解释注意事项)。

若:在操作前,将名字为A的的文件夹删除掉,此时仍然使用:dest="E:\access\A\noexist.java"。则操作不成功(返回false),因为A文件夹不存在,也就不存在一条E:\access\A\的路径。

2)、source="目录" ->dest="目录",如:source="E:\access\B\C\D",dest="E:\access\K\F",操作后,会将D目录(连同其中的文件夹和文件)剪切到K文件夹中,并将D文件夹重命名为F。同上1),E:\access\K必须是事先已经存在,否则不成功。如:操作前,access目录下没有K文件夹存在,那么操作就会失败。因为找不到E:\access\K\ 这条路径。

3)、source="目录" ->dest="文件路径",如:source="E:\access\A",dest="E:\access\B\m.java",此时E: \access\B路径必须存在(同上),但是里面没有一个叫“m.java”的文件或文件夹。操作后,会在B文件夹下生成一个名叫m.java的文件夹,并将A目录中所有东西剪切到m.java这个文件夹中,并删除文件夹A。

仔细分析,会发现,此时尽管dest="E:\access\B\m.java"中看似有一个m.java文件,但是由于事先在B文件夹下没有名为m.java的文件或文件夹(否则出错)。所以,在执行renameTo()时,系统会把m.java当做了一个文件夹看待。可归为2)一类。

4)、source="文件路径" ->dest="目录",可和1)归为一类。如:source="E:\access\B\D\a.java",dest="E:\access\X",

此时会将a.java文件剪切到access目录下,并重命名为X。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值