猿问

请问下为什么在Java中用renameTo文件重命名后,怎么getname()没变化?

以下是主要程序:

String s="D:\\haha\\test\\dssa.txt";
File f=new File(s);
f.getParentFile().mkdirs();
try
{
f.createNewFile(); //新建文件
}catch(IOException e)
{
System.out.println("创建文件时出错:");
e.printStackTrace();
}

File f1=new File("D:\\haha\\test\\mm.txt");
f.renameTo(f1);
System.out.println("文件重命名为:"+f.getName())

江户川乱折腾
浏览 185回答 1
1回答

白衣非少年

renameTo不会改变f本身的name属性 你没有对f进行重新赋值 所以没改if(f.renameTo(f1)){System.out.println("文件重命名为:"+f1.getName())}或者if(f.renameTo(f1)){f = f1 ;}System.out.println("文件重命名为:"+f.getName())
随时随地看视频慕课网APP

相关分类

Java
JavaScript
我要回答