移动/重命名SD卡文件
问题描述:
我试图从一个目录文件移动到另一个(SD卡)移动/重命名SD卡文件
我有一个文件的URI和我想移动的方式:
Uri selectedImage = imageReturnedIntent.getData(); // this the uri, something like content://media/external/images/media/635
File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard, selectedImage);
File to = new File(sdcard, "myNewDir/mynewfile.jpg");
from.renameTo(to);
但它不工作,它也没有给我任何logcat中错误...
编辑:
我已经加入这两种权限到我的清单FIL E:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
答
// this the uri, something like content://media/external/images/media/635
,那么你在做什么,正在尝试来连接该到Environment.getExternalStorageDirectory()
。这不起作用。 content://media/external/images/media/635
既不是相对文件系统路径,也不是绝对文件系统路径。这是一个Uri
。
如果您想将图像从Uri
复制到本地文件,请使用ContentResolver
由Uri
代表的图像上得到InputStream
,然后使用Java I/O从InputStream
字节复制到目标文件。
+1
你是对的。我改变了uri到绝对路径,一切都按需要工作。 – 2012-01-30 16:46:58
当你说“不行”时,到底发生了什么?另外,您是否添加了WRITE_EXTERNAL_STORAGE权限? – 2012-01-30 15:21:39
我更新了一下我的问题。我已添加权限...没有任何反应,它不仅仅移动文件,也不会给我任何错误。 – 2012-01-30 15:29:45