Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android 10创建一个文件夹-getExternalFilesDir而不是getExternalStorageDirectory()(已弃用)_Java_Android_File_Directory_Deprecated - Fatal编程技术网

Java Android 10创建一个文件夹-getExternalFilesDir而不是getExternalStorageDirectory()(已弃用)

Java Android 10创建一个文件夹-getExternalFilesDir而不是getExternalStorageDirectory()(已弃用),java,android,file,directory,deprecated,Java,Android,File,Directory,Deprecated,我试图使用context.getExternalFilesDir()方法在sdcard内创建一个新文件夹,但它不起作用,它创建了Pictures文件夹,但没有创建TestFolder和txt文件。我的目的是创建一个文件夹,并将从我的应用程序下载的图像放在其中。不幸的是,Environment.getExternalStorageDirectory()在API级别29中已被弃用,我不知道如何修复它。一如既往,非常感谢您的帮助 File folder = new File(getCo

我试图使用context.getExternalFilesDir()方法在sdcard内创建一个新文件夹,但它不起作用,它创建了Pictures文件夹,但没有创建TestFolder和txt文件。我的目的是创建一个文件夹,并将从我的应用程序下载的图像放在其中。不幸的是,Environment.getExternalStorageDirectory()在API级别29中已被弃用,我不知道如何修复它。一如既往,非常感谢您的帮助

        File folder = new File(getContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES), "TestFolder");
        if (!folder.exists()) {
            folder.mkdirs();
        }


        File filename = new File(folder, "test.txt");
        try {
            filename.createNewFile();
        } catch (Exception e) {
            e.printStackTrace();
        }
使用

文件夹=新建 文件(this.getExternalFilesDir(null.getAbsolutePath(),“TestFolder”)

而不是

文件夹=新建 文件(getContext().getExternalFilesDir(Environment.DIRECTORY\u图片), “测试文件夹”)

使用

文件夹=新建 文件(this.getExternalFilesDir(null.getAbsolutePath(),“TestFolder”)

而不是

文件夹=新建 文件(getContext().getExternalFilesDir(Environment.DIRECTORY\u图片), “测试文件夹”)


请注意,问题中的代码没有显示
环境.getExternalStorageDirectory()
的用法。它显示了
getExternalFilesDir()
,它在安卓4.4到10上运行良好(到目前为止,在安卓R上运行良好)。因此,你的问题的标题与问题的主体并不匹配。除此之外,查看Logcat以查看是否从异常中获取堆栈跟踪。请记住,
createNewFile()
实际上没有太多功能,也没有真正用于Android应用程序开发。您好。现在标题对你更合适了?感谢您对createNewFile的建议。我的终端中没有任何错误。“它创建图片文件夹,但不创建TestFolder和txt文件”--你到底在找什么?尝试在Android Studio中使用设备文件资源管理器。设备文件资源管理器显示我以前尝试创建的所有文件和文件夹,谢谢。但是为什么我不能在我的android模拟器中看到它们呢?我需要访问这些文件。再次感谢您如果您在gallery样式的应用程序中查找这些图像,
getExternalFilesDir()
不会被Android 10+上的
MediaStore
索引。IIRC,它不能被
MediaStore
索引。如果您想写出图像,特别是对外部存储的标准公共位置,您可以直接考虑使用<代码> MistaSoRe>代码>。我有一大堆关于它的博客文章,开始。请注意,您问题中的代码没有显示
环境的使用。getExternalStorageDirectory()
。它显示了
getExternalFilesDir()
,它在安卓4.4到10上运行良好(到目前为止,在安卓R上运行良好)。因此,你的问题的标题与问题的主体并不匹配。除此之外,查看Logcat以查看是否从异常中获取堆栈跟踪。请记住,
createNewFile()
实际上没有太多功能,也没有真正用于Android应用程序开发。您好。现在标题对你更合适了?感谢您对createNewFile的建议。我的终端中没有任何错误。“它创建图片文件夹,但不创建TestFolder和txt文件”--你到底在找什么?尝试在Android Studio中使用设备文件资源管理器。设备文件资源管理器显示我以前尝试创建的所有文件和文件夹,谢谢。但是为什么我不能在我的android模拟器中看到它们呢?我需要访问这些文件。再次感谢您如果您在gallery样式的应用程序中查找这些图像,
getExternalFilesDir()
不会被Android 10+上的
MediaStore
索引。IIRC,它不能被
MediaStore
索引。如果您想写出图像,特别是对外部存储的标准公共位置,您可以直接考虑使用<代码> MistaSoRe>代码>。我有一大堆关于它的博客文章,开始。