如何在安卓系统中通过文件路径重命名文件?

5

我有一个存储在一个变量中的路径:

字符串路径:

String filepath="/mnt/sdcard/DCIM/Camera/1396854069062.jpg";

现在我想仅重命名文件 1396854069062.jpg,我真的不知道如何做。

我的代码是:

File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard, filePath);
File to = new File(sdcard, "RChat_Rename.jpg";
from.renameTo(to);

任何帮助都将不胜感激。

谢谢您。


请发布您尝试过的代码。 - Hamid Shatu
1
@InnocentKiller 的答案很完美,点赞+1。@Nirav Dabhi,你添加了READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限吗? - TheFlash
是的,我已经给了权限,你可以在我编辑过的问题中看到我的代码。 - Nirav Dabhi
2个回答

6
尝试这种方法,
File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard,"/1396854069062.jpg");
File to = new File(sdcard,"test.jpg");
from.renameTo(to);

不要忘记在Android清单文件中添加以下权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

编辑

String filepath= Environment.getExternalStorageDirectory() + "/DCIM/Camera/";
File from = new File(filepath,"1396854069062.jpg");
File to = new File(filepath,"test.jpg");
from.renameTo(to);

不要忘记在清单文件中添加访问SD卡的权限,否则它将无法工作。@NiravDabhi - AlphaCode
1
你在清单文件中添加了 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 这个权限吗? - InnocentKiller
是的,我已经添加了权限,但结果仍然相同。 - Nirav Dabhi
文件没有重命名。 - Nirav Dabhi
确实如此,如果它没有显示NullPointException之类的错误,那么它与innocentkiller发布的代码无关。 - AlphaCode
显示剩余14条评论

4

请尝试以下操作...

File fileDir = Environment.getExternalStorageDirectory() +"/DCIM/Camera/";
File from = new File(fileDir, "1396854069062.jpg");
File to = new File(fileDir, "RChat_Rename.jpg";
from.renameTo(to);

无法将fileDir转换为字符串。:( - Nirav Dabhi
但是该文件是动态的,不能确定用户只会从相机中选择图像,那么我该怎么办? - Nirav Dabhi
所以,您想要重命名从相机拍摄的图片,对吗? - Hamid Shatu
然后,当你启动相机捕获图像时,你应该为图像命名。 - Hamid Shatu
是的亲爱的,我已经获取了用户选择的图像路径。 - Nirav Dabhi
它正在创建新文件。 - Abraham Mathew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接