Android文件重命名renameTo后,getName获取的文件名为何还是原来没有改的名字?(文件已经重命名了)

本文解答了Java中使用File类重命名文件时遇到的问题,并解释了File对象的不可变性特性,同时给出了针对Android环境下文件更改后刷新系统的解决方案。

参考地址:https://zhidao.baidu.com/question/307602337138059404.html

http://www.360doc.com/content/09/1109/09/461705_8653225.shtml




java中重命名之后输出的文件名为什么还是给名前的名字?

File f=new File("c:/a/1.txt"); 
System.out.println(f.renameTo(new File("c:/a/2.txt"))); 
System.out.println(f.getName); 
输出的文件名按理说应该是该名好的啊,可是问什么还是原来的呢?
 
 
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/io/File.html 
看java api中File,最后一句: 
File 类的实例是不可变的;也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。 


还有你的程序,路径分隔符应该用//




Android 很多东西都是存在 ContentProvoid 中的,你改了之后要通知系统进行刷新才可以;
public void dealwithMediaScanIntentData(String path)
{
Intent mediaScanIntent = new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(new File(path));
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值