Android 打开失败:Kotlin中的enoint(没有这样的文件或目录)
我需要保存到内部存储器(而不是外部存储器)。这是我在Kotlin的代码Android 打开失败:Kotlin中的enoint(没有这样的文件或目录),android,kotlin,Android,Kotlin,我需要保存到内部存储器(而不是外部存储器)。这是我在Kotlin的代码 private fun saveImage(bitmap: Bitmap) { var outStream: FileOutputStream? = null try { val dir = File(Environment.DIRECTORY_DOCUMENTS, "ALCS"+ File.separator + "LaneShots&q
private fun saveImage(bitmap: Bitmap) {
var outStream: FileOutputStream? = null
try {
val dir = File(Environment.DIRECTORY_DOCUMENTS, "ALCS"+ File.separator + "LaneShots")
val fileName = String.format("%s_%d.jpg", "Image", System.currentTimeMillis())
if(!dir.exists()){
dir.mkdirs();
}
val outFile = File(dir, fileName)
outStream = FileOutputStream(outFile) ==> ERROR OCCURS HERE!!!
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream)
outStream!!.flush()
outStream!!.close()
} catch (e: FileNotFoundException) {
Log.e("TAG", e.toString())
} catch (e: IOException) {
Log.e("TAG", e.toString())
} finally {
}
}
我收到错误Documents/ALCS/LaneShots/Image_1601958600007.jpg:open failed:enoint(没有这样的文件或目录)
这在我的舱单上:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
无济于事
谢谢。尝试使用:
MediaStore.Images.Media.insertImage(contentResolver、位图、“您的图像名称”、“图像已保存”)
除此之外,我建议,如果您使用的是输出方法,请将目录更改为Environment.directory\u PICTURES代码正确。我只需要在运行时运行权限。该路径不正确。它不存在。这是不可能的。外部公共中最后提到的路径是可以的。但若设备运行安卓10,你们应该这么说。
dir.mkdirs()代码>已失败。但是您不知道,因为您没有检查返回值。因此没有采取相应的行动。
val dir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "ALCS"+ File.separator + "LaneShots")