当前位置: 首页 > 知识库问答 >
问题:

错误:java.io.ioException:android 11中没有这样的文件或目录

衡子琪
2023-03-14

我正试图在文件系统上创建一个文件,但仍然得到这个异常:

private fun getTempFolder(): File {
        val directoryFolder =
            File(Environment.getExternalStorageDirectory(), "haas-image")
        directoryFolder.mkdirs()
        return directoryFolder
    }
    private fun getTempFile(): File {
        val timeStamp = SimpleDateFormat("yyyyMMdd_HHMMss", Locale.getDefault()).format(Date())
        return File(
            getTempFolder().absolutePath,
            "image".plus(Calendar.getInstance().timeInMillis).plus(timeStamp).plus(".jpg")
        )
    }
    private fun saveImageToFile(bitmap: Bitmap? = null): String? {
        return try {
            val file = getTempFile()
            Timber.e("Path: + : ${file.absolutePath}")
            file.createNewFile()
            val fOut = FileOutputStream(file)
            bitmap?.apply {
                this.compress(Bitmap.CompressFormat.JPEG, 100, fOut)
            }
            fOut.flush()
            fOut.close()
            file?.absolutePath.getDefault()
        } catch (e: Exception) {
            e.printStackTrace()
            ""
        }
    }

即使拍完照片后得到了链接Camare:

:/storage/emulated/0/sample-take-image/image162064003789420210510_160517.jpg

所以有人能告诉我为什么我不能创建文件在这种情况下。我目前在Android11上

**CompilesDK版本30

buildToolsVersion "30.0.2"

minSdkVersion 26**

共有1个答案

高钱青
2023-03-14

在Android11设备上,您不能在外部存储的根目录中创建目录或文件。

但您可以在所有已经存在的公共目录中。

文件(Environment.getExternalStorageDirectory(),“Haas-image”)

File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "haas-image")
 类似资料:
  • 问题内容: 我想在我的一个golang控制器中指定一个html模板。我的目录结构是这样的 我想为请求/ new加载first.html。我已经将NewHandler用于url / new,并且当/ new请求到达并且在controller.go中时,NewHandler函数正在执行。这是我的代码 但是我遇到一个错误 请帮助我删除此错误。提前致谢 问题答案: 我已经通过提供html的绝对路径解决了这

  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装:

  • 我正在尝试编写一个程序,使用Scala运行Linux命令。 我写了一段代码来运行命令的功能。 代码片段 当我尝试运行命令

  • 问题内容: 我正在尝试使用C扩展文件构建共享库,但首先我必须使用以下命令生成输出文件: 执行命令后,我得到以下错误消息: :致命错误:Python.h:没有此类文件或目录编译终止。 实际上我已经尝试了所有建议的解决方案,但是问题仍然存在…我也没有问题。我设法在我的机器上找到该文件……以前有人遇到过同样的问题吗?? 问题答案: 看来你尚未正确安装python dev的标头文件和静态库。使用软件包管理

  • 我在流管道中进行一些文件处理,想测试一些错误条件。我想到的第一件事是打开不存在的文件。我发现我无法处理这种情况。它看起来像节点。fs不会发出“错误”事件。有人知道怎么处理这个案子吗?我读到fs也有同样的情况。取消链接。 如果文件存在,则输出: 如果文件不存在: 类似问题:这里 人们会问:是否有可能在流之前发出错误事件。on('错误',…)是否生效? 谢谢