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

各位高手请看以下代码://传入两个参数:目标文件和目标路径
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为什么不可以呢?请详细解答下,谢谢诸位了。

慕雪6442864
浏览 1741回答 3
3回答

手掌心

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类型的就行

潇湘沐

renameTo(new File(dir,file.getName()));中NEW FILE的时候调用了FILE类的构造函数:File(String parent, String child)根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。其中你的dir就是要复制的路径,那个file.getName()自然就可以获得目标文件的文件名了。

largeQ

因为 renameTo的参数要求就是一个File类型,并且是文件,你的dir虽然是File类型,但不是文件,只是路径而已,所以不行
打开App,查看更多内容
随时随地看视频慕课网APP