[英]FileSystemException: Cannot open file, path = 'Directory: '/storage/emulated/0/Android/data/
[英]Read .txt field data from /storage/emulated/ path in android 11
我想從 /storage/emulated 應用程序特定路徑的.txt
文件中讀取數據。 我已在同一個文件中成功寫入數據,但無法讀取。
將數據寫入txt文件的代碼。
val writer: FileOutputStream = openFileOutput(file.absolutePath, MODE_PRIVATE)
writer.write(str1.toByteArray())
writer.flush()
writer.close()
試圖從同一個文件中讀取數據。
val text = StringBuilder()
val br = BufferedReader(FileReader(file))
var line: String?
while (br.readLine().also { line = it } != null) {
text.append(line)
text.append('\n')
}
br.close()
行返回 null 值。
Try adding android:requestLegacyExternalStorage="true" to your manifest.
或者更改它以符合 Android 11 的新范圍存儲系統。 請參閱https://developer.android.com/about/versions/11/privacy/storage
我想從 /storage/emulated 應用程序特定路徑的 .txt 文件中讀取數據。 我已在同一個文件中成功寫入數據,但無法讀取。
您沒有寫入/storage/emulated
目錄中的某個位置。 您使用openFileOutput()
。 寫入不同的位置。 要從該位置讀取,請使用openFileInput()
,即Context
上的相應方法。 請務必使用您傳遞給openFileOutput()
的相同文件名。
您應該寫入位置/storage/emulated
目錄。 您已經使用過openFileOutput()
。 它指向 Context 上的getFilesDir()
返回的位置。 你可以這么說,因為文檔說:
返回文件系統上存儲使用 openFileOutput(String, int) 創建的文件的目錄的絕對路徑。
要從您的位置讀取,請使用openFileInput()
,即 Context 上的相應方法,文件名與您傳遞給openFileOutput()
的文件名相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.