Android 为什么不';这条路不对吗?

Android 为什么不';这条路不对吗?,android,file,android-intent,filepath,java-io,Android,File,Android Intent,Filepath,Java Io,Hy 我有一个问题,我试图保存一个文件到自定义目录,但没有工作 首先,我选择了下载目录,但副本不起作用 如果我添加一个constans目录文件夹,下载,复制工作 问题是,两个目录路径不存在 如果添加康斯坦斯路径,例如: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u下载) 路径是:/storage/emulated/0/Download 但是如果我从intent添加一个自定义路径,并选择下载目录,那么路径

Hy

我有一个问题,我试图保存一个文件到自定义目录,但没有工作

首先,我选择了下载目录,但副本不起作用

如果我添加一个constans目录文件夹,下载,复制工作

问题是,两个目录路径不存在

如果添加康斯坦斯路径,例如:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u下载)
路径是:
/storage/emulated/0/Download

但是如果我从intent添加一个自定义路径,并选择下载目录,那么路径是:
com.android.providers.downloads.documents/tree/downloads

复制文件的我的功能:

database.close();
        File sourceDb = context.getDatabasePath("app_database");
        File destinationDb = new File(filePath + "/app_database");
        File file=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
        try {
            FileUtils.copyFile(sourceDb, destinationDb);
        } catch (Exception e) {
            return "Error";
        }
我的意图是:

Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
                i.addCategory(Intent.CATEGORY_DEFAULT);
                startActivityForResult(Intent.createChooser(i, "Choose directory"), 100);


public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode==100){
            informationSnackbar(data.getData().toString());
...
}

操作\u打开\u文档
不会返回
文件
。它返回一个指向
文档提供者的
Uri

要写入由
Uri
标识的文档,请使用
ContentResolver
openOutputStream()
获取可以复制数据库的
OutputStream