Android/Kotlin 使用 Java.io.File 读取文件:路径问题
Android/Kotlin read file using Java.io.File : path trouble
我正在尝试使用 Kotlin 在 android 上开发我的第一个应用程序。目前我尝试读取位于我的 android 项目中的文件。
我的 "Java" 文件夹下有以下架构:
/java/example.first.com.monapp/controller/FirstActivity.kt
/java/example.first.com.monapp/controller/WelcomeActivity.kt
/java/example.first.com.monapp/model/words.kt
/java/example.first.com.monapp/model/wordsData
wordsData 是一个包含原始数据的文本文件(每行 3 个单词,由“;”分隔)
words.kt中的代码是:
package example.first.com.monapp.model
import java.io.File
data class Word(val wordFr:String, val wordRu:String, val active:Boolean)
fun readFileKotlin(): List<Word> {
val fileToRead="wordsData"
val wordList = mutableListOf<Word>()
var reader= File(fileToRead).readLines()
var wrdLst:List<Word>
for (line in reader) {
val wrdProperties = line.split(";")
wordList.add(Word(wrdProperties[0], wrdProperties[1], wrdProperties[2].toBoolean()))
}
wrdLst=wordList
return wrdLst
}
我在创建 activity 期间调用了 readFileKotlin 函数,但我不断收到 "java.io.FileNotFoundException" 没有这样的文件或目录错误。
我尝试了几种路径变体,例如
val fileToRead="model/wordsData"
或
val fileToRead="/java/example.first.com.monapp/model/"
或
val fileToRead="/java/example/first/com/monapp/model/"
但是 none 这行得通。
我做错了什么?
提前致谢!
将wordsData文件放入android assets
文件夹中,这是可以放置原始数据资产的文件夹android
然后在您的 Activity 中您可以获得这样的 InputStream:
getAssets().open("wordsData.txt")
我正在尝试使用 Kotlin 在 android 上开发我的第一个应用程序。目前我尝试读取位于我的 android 项目中的文件。 我的 "Java" 文件夹下有以下架构:
/java/example.first.com.monapp/controller/FirstActivity.kt
/java/example.first.com.monapp/controller/WelcomeActivity.kt
/java/example.first.com.monapp/model/words.kt
/java/example.first.com.monapp/model/wordsData
wordsData 是一个包含原始数据的文本文件(每行 3 个单词,由“;”分隔)
words.kt中的代码是:
package example.first.com.monapp.model
import java.io.File
data class Word(val wordFr:String, val wordRu:String, val active:Boolean)
fun readFileKotlin(): List<Word> {
val fileToRead="wordsData"
val wordList = mutableListOf<Word>()
var reader= File(fileToRead).readLines()
var wrdLst:List<Word>
for (line in reader) {
val wrdProperties = line.split(";")
wordList.add(Word(wrdProperties[0], wrdProperties[1], wrdProperties[2].toBoolean()))
}
wrdLst=wordList
return wrdLst
}
我在创建 activity 期间调用了 readFileKotlin 函数,但我不断收到 "java.io.FileNotFoundException" 没有这样的文件或目录错误。
我尝试了几种路径变体,例如
val fileToRead="model/wordsData"
或
val fileToRead="/java/example.first.com.monapp/model/"
或
val fileToRead="/java/example/first/com/monapp/model/"
但是 none 这行得通。
我做错了什么?
提前致谢!
将wordsData文件放入android assets
文件夹中,这是可以放置原始数据资产的文件夹android
然后在您的 Activity 中您可以获得这样的 InputStream:
getAssets().open("wordsData.txt")