【问题标题】:Android/Kotlin read file using Java.io.File : path troubleAndroid/Kotlin 使用 Java.io.File 读取文件:路径问题
【发布时间】:2017-12-16 14:14:51
【问题描述】:

我正在尝试使用 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
}

我在创建活动期间调用了 readFileKotlin 函数,但我不断收到“java.io.FileNotFoundException”No such file or directory 错误。

我尝试了几种路径变体,例如

val fileToRead="model/wordsData"

val fileToRead="/java/example.first.com.monapp/model/"

val fileToRead="/java/example/first/com/monapp/model/"

但这些都不起作用。

我做错了什么?

提前致谢!

【问题讨论】:

    标签: android android-studio kotlin java-io


    【解决方案1】:

    将wordsData文件放入androidassets文件夹,这个文件夹是你可以在android中放原始数据资产的文件夹

    然后在您的 Activity 中,您可以像这样获得 InputStream:

    getAssets().open("wordsData.txt")
    

    【讨论】:

      猜你喜欢
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 2022-11-16
      相关资源
      最近更新 更多