java文件操作,使用file.renameTo()方法,为什么不能将文件重命名呢?

代码实现如下:Stringfilepath="D:\\project\\tomcat\\temp";Stringfilename="data.log";Filefile=... 代码实现如下:
String filepath = "D:\\project\\tomcat\\temp";
String filename = "data.log";
File file = new File(filepath + File.separator + filename);
String newFileName = file.getAbsolutePath().substring(0, filename.lastIndexOf("."));
boolean flag = file.renameTo(new File(newFileName+ "20070831.bak"));

这样操作每次renameTo()方法返回的都是false,无法将文件重命名,哪位高手给指点一下呗,谢谢!
查看过了,没有同名的文件,还是不能重命名文件
展开
 我来答
百度网友0c3258b02
2007-08-31 · TA获得超过672个赞
知道小有建树答主
回答量:550
采纳率:0%
帮助的人:627万
展开全部
File file = new File(filepath + File.separator + filename);
改成这样就行了,

File file = new File(filepath + File.separatorChar+ filename);

下面是测试的全部代码:

String filepath = "D:";
String filename = "data.txt";
File file = new File(filepath + File.separatorChar+ filename);
System.out.println(file);
String newFileName = file.getAbsolutePath().substring(0, filename.lastIndexOf("."));
boolean flag = file.renameTo(new File(newFileName+ "20070831.bak"));
System.out.println(flag);
天之魔神
推荐于2016-05-14 · TA获得超过537个赞
知道小有建树答主
回答量:829
采纳率:0%
帮助的人:709万
展开全部
是不是有同名的文件。如果有同名文件就会返回false
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
樱寒易道
2013-02-21 · TA获得超过189个赞
知道答主
回答量:13
采纳率:0%
帮助的人:7.5万
展开全部
String newFileName = file.getAbsolutePath().substring(0, filename.lastIndexOf("."));

这句有问题,改成:
String newFileName = file.getParent();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式