永发信息网

java的FILE中的renameTo()方法使用问题

答案:6  悬赏:70  手机版
解决时间 2021-06-08 22:52
  • 提问者网友:爱了却不能说
  • 2021-06-08 09:50

各位高手请看以下代码:

//传入两个参数:目标文件和目标路径
public boolean copyFiles(String srcPath,String destPath){
//被移动的文件夹
File file = new File(srcPath);
//目标文件夹
File dir = new File(destPath);
//将文件移动到另一个文件目录下
boolean success = file.renameTo(new File(dir,file.getName()));
return success;
}

请各位高手帮小弟解惑下,这个renameTo方法,为什么里面要使用new呢?直接写dir为什么不可以呢?请详细解答下,谢谢诸位了。

最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-06-08 10:17

public boolean renameTo(File dest)


renanemTo 里的参数应该是File类型


boolean success = file.renameTo(new File(dir,file.getName()));//这里的new File(dir,file.getName())只是个参数


可以这样改
File file2 = new File(dir,file.getName());


boolean success = file.renameTo(file2);//里边不一定要new,是个File类型的就行


全部回答
  • 1楼网友:千杯敬自由
  • 2021-06-08 14:22
因为 renameTo的参数要求就是一个File类型,并且是文件,你的dir虽然是File类型,但不是文件,只是路径而已,所以不行
  • 2楼网友:怀裏藏嬌
  • 2021-06-08 13:38

去看看JAVA API就知道了~~它里面讲得很详细~~~

  • 3楼网友:封刀令
  • 2021-06-08 13:08
这个方法需要的是一个File类的对象而已.
  • 4楼网友:酒者煙囻
  • 2021-06-08 11:53
File类不能直接使用,需要实例化,所以才new。
  • 5楼网友:怀裏藏嬌
  • 2021-06-08 11:18

renameTo(new File(dir,file.getName()));中

NEW FILE的时候调用了FILE类的构造函数:

File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

其中你的dir就是要复制的路径,那个file.getName()自然就可以获得目标文件的文件名了。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯