如何找到文件下载到的android目录

How to find the android directory that files are downloaded into it

我一直在制作一个应用程序,它可以从互联网下载文件并保存它们的存储空间我有两个问题:首先如何解决它以将它们保存在确切地址的下载文件夹中?第二,它现在使用的“/data/user/0/com.example.moein.download_kotlin/files/Downloads/file.jpg”目录在哪里? 这是我的代码

            mainFetch = Fetch.Builder(applicationContext, "Download 1 file")
            .setDownloadConcurrentLimit(1) .
            .enableLogging(true)
            .build()

    //Single enqueuing example
    val request = Request("https://www.sample-videos.com/img/Sample-jpg-image-50kb.jpg",
            applicationContext.getFilesDir().getPath().toString() +"/Downloads/file.jpg")
    request.priority=Priority.HIGH;
    request.networkType=NetworkType.ALL
    request.addHeader("download", "2")

    mainFetch!!.enqueue(request, object : Func<Download> {
        override fun call(t: Download) {

        Toast.makeText(applicationContext,t.file,Toast.LENGTH_SHORT).show();
       //toasts /data/user/0/com.example.moein.download_kotlin/files/Downloads/file.jpg

        }
    }, object : Func<Error> {
        override fun call(t: Error) {
            Toast.makeText(applicationContext,t.toString(),Toast.LENGTH_SHORT).show();
        }
    })`

first how to address it to save them in downlod folder which is the exact address?

使用如下:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

如果您的目标是 Andrpid 6.0 及更高版本,请记住请求 WRITE_EXTERNAL_STORAGE 写入该目录并请求 READ_EXTERNAL_STORAGE 读取该目录。用户需要授予这些权限,因此您必须实现权限模型。你可以按照这个official tutorial来实现这个。

second where is this "/data/user/0/com.example.moein.download_kotlin/files/Downloads/file.jpg" directory that it is using now?

这是您的应用程序特定的目录。保存到这里的文件对您的应用程序是私有的,其他应用程序无法访问它们(用户也不能,除非他们具有根访问权限)。这使得内部存储成为用户不需要直接访问的内部应用程序数据的好地方。

但是我在三星设备上发现ES文件资源管理器可以访问这个目录。但他们是怎么做到的,还是个谜。