Linux 下 java 的File类的renameTo()方法 不能重命名文件

importjava.io.*;publicclassTextRename{publicstaticvoidmain(Stringargs[]){Fileoldfile=... import java.io.*;
public class TextRename{
public static void main(String args[]){
File oldfile = new File("//media//project//xccca//build//web//uploadfiles//netbeans-6.9.desktop");
File newfile = new File("//media//project//xccca//build//web//uploadfiles//11111111.desktop");
System.out.println(oldfile.getName());
System.out.println(oldfile.renameTo(newfile));
}
}
输出的是旧文件名和false

我再本地也就是window环境下使用是没有问题的,但是把项目部署到linux环境下就一直失败,不知道 为什么!
展开
 我来答
没门咱走窗
2012-11-15 · 超过20用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:37.5万
展开全部
1--.linux文件系统也有绝对路径,从根目录开始的。
当然你也可以读相对路径,./表示当前路径,..表示上一级路径。
2--.首先路径写对的话,剩下的就是权限问题了,你先看下你是否对此文件有修改权限,chmod u+x fileName试下
3--.是否重名了
shenwei5566
2012-11-15 · TA获得超过610个赞
知道小有建树答主
回答量:575
采纳率:33%
帮助的人:252万
展开全部
//media//project//xccca//build//web//uploadfiles//netbeans-6.9.desktop 这个文件必须先存在 , 试试用root账号执行java TextRename行不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
樱寒易道
2013-02-21 · TA获得超过189个赞
知道答主
回答量:13
采纳率:0%
帮助的人:7.5万
展开全部
路径请使用File.separator代替//
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiminsxtpy
推荐于2016-03-09 · TA获得超过234个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:199万
展开全部
File target = new File(newFilename);
if (target.exists()) {
target.delete();
}
File file = new File(oldFilename);
boolean result = file.renameTo(target);
追问
可否看清问题在回答!我问的不是怎么用!是linux环境下为什么不能用!
追答
LINUX下是可以用的,你看一下源文件名、路径对不对,以及是否有读写权限。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潭胤罕静秀
2020-05-29 · TA获得超过3803个赞
知道小有建树答主
回答量:3092
采纳率:33%
帮助的人:247万
展开全部
file.getparent()
返回的是一个字符串类型
返回此抽象路径名父目录的路径名字符串
filename是一个字符串类型
所以就是通过
file
(string parent,
string child)这个构造方法去构造出一个file出来
具体可以自己参见api文档
io
f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式