如何在Android中从文件路径重命名文件?

Posted

技术标签:

【中文标题】如何在Android中从文件路径重命名文件?【英文标题】:How to rename File From filepath in Android? 【发布时间】:2014-05-19 14:43:55 【问题描述】:

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

字符串路径:

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

现在我只想重命名 1396854069062.jpg 的文件,我 Reilly 不知道该怎么做。

我的代码是:

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

我们将不胜感激。

谢谢

【问题讨论】:

发布您尝试过的代码。 @InnocentKiller 的答案是完美的 +1。@Nirav Dabhi 你添加了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限吗? 是的,我已经获得许可,您可以在我编辑的问题中看到我的代码 【参考方案1】:

试试这个方法,

File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard,"/1396854069062.jpg");
File to = new File(sdcard,"test.jpg");
from.renameTo(to);

不要忘记在 android manifest 文件中添加以下权限

<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);

【讨论】:

不要忘记在清单@NiravDabhi 中添加访问 SD 卡的权限,否则它将不起作用 你是否在清单中添加了&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;这个权限。 是的,我已经添加了权限,但结果是一样的 不只是文件没有重命名 你是使用“try catch”中的方法还是单独使用?【参考方案2】:

尝试如下...

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 转换为字符串。 :( 但是文件是动态的,用户只能从相机中选择图像并不能解决问题,我该怎么做? 那么,你想重命名一张从相机拍摄的照片,对吧? 那么你应该在启动相机捕捉图像时给图像命名。 是的,亲爱的,我得到了用户选择的图像路径。

以上是关于如何在Android中从文件路径重命名文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中重命名文件只知道它的媒体内容Uri

linux下怎么样重命名文件

Android Studio中如何重命名文件

如何使用 Android 应用程序重命名 sdcard 上的文件?

Android Studio中如何重命名文件

如何用python查询文件路劲