我正在尝试打开然后移动文件。我通过意图使用文件选择器选择文件,这返回一个结果,该结果是Uri指向设备内部存储上的文件。
当我查看Uri的路径时,如下所示,/ document / 856代表了我选择的文件,即名为README.txt的TextFile。我试图利用Uri将此文件读入File对象,然后将其移至/data/user/0/com.example.bootloader/files/bluetoothchat_files/,这是我的内部存储目录应用程式。
目前,我似乎还无法弄清楚如何使用onActivityResult调用中返回的Uri打开File对象。我正在尝试该文件,但是当我尝试检查“文件找不到文件”时。
我已经尝试了有关该主题的所有stackoverflow解决方案,但是似乎无法解决我的问题。我已阅读https://developer.android.com/training/data-storage/files.html#WriteInternalStorage,但是我想使用Uri来打开文件。
这是用于检查文件是否存在的onActivity结果回调代码。
if (resultCode == Activity.RESULT_OK) {
Uri uploadfileuri = data.getData();
File file = new File(uploadfileuri.getPath());
if(file.exists())
{
Log.i(TAG, "onActivityResult: Found the file");
}
else
{
Log.i(TAG, "onActivityResult: Cannot find the file");
}
}
此行用于触发文件选择器的意图。
startActivityForResult(newIntent(Intent.ACTION_GET_CONTENT).setType("*/"),CHOOSE_FILE);
我希望能够使用File对象打开Uri返回的文件。如果我可以打开文件,则打算使用srcFile.to(desFile)方法将文件移动到所需目录。 关于如何解决从Uri中打开所需文件的任何帮助或想法?