【发布时间】:2019-04-29 17:29:45
【问题描述】:
我正在尝试在 android 中打开一个文件选择器,选择一个 json 文件然后从中获取文本。 选择文件后应用程序崩溃,因为它找不到路径。
我已尝试添加外部存储读/写权限并更改路径格式
/// some Activity code
val myFileIntent=Intent()
.setType("*/*")
.setAction(Intent.ACTION_GET_CONTENT)
startActivityForResult(myFileIntent,10)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
val path = data!!.data.path
val jsonContent = File(path).readText()
}
【问题讨论】:
-
请发布堆栈跟踪
-
引起:java.io.FileNotFoundException: /document/raw:/storage/emulated/0/Download/reteta.json (没有这样的文件或目录) 在 java.io.FileInputStream.open0( Native Method) at java.io.FileInputStream.open(FileInputStream.java:231) at java.io.FileInputStream.
(FileInputStream.java:165) at kotlin.io.FilesKt__FileReadWriteKt.readBytes(FileReadWrite.kt:63)在 kotlin.io.FilesKt__FileReadWriteKt.readText(FileReadWrite.kt:101)