繁体   English   中英

java.io.FileNotFoundException 打开失败:ENOENT(没有这样的文件或目录)

[英]java.io.FileNotFoundException open failed: ENOENT (No such file or directory)

我有一个临时文件,用于从裁剪库创建图像,我可以在设备文件资源管理器中看到该文件,但是当我尝试打开该文件时,出现此错误:

java.io.FileNotFoundException:文件:/data/user/0/com.example.demo/cache/.tmp/cropped1651879842159823361.png:打开失败:ENOENT(没有这样的文件或目录)

这是该文件的创建方式:

val croppedImageFile = File.createTempFile("cropped", ".png", viewModel.tempPath)
val destinationUri = Uri.fromFile(croppedImageFile)

viewModel.tempPath 如下:

viewModel.tempPath = "${this.cacheDir}/.tmp"

我可以看到该文件已创建并且有效,但是当我尝试访问它时,它声称它不存在。 我只是通过执行File(uri.toString())打开文件。 在视图模型中

我不确定出了什么问题以及为什么找不到文件。 如果这很重要,我使用的是具有 google play 且是 Android 11 的模拟器。

您需要使用new File(uri.getPath())打开文件。 uri.toString()将 URI 作为字符串返回,这意味着“file://path/to/file”不是有效路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM