Kotlin: не удается заставить FileReader найти файл - PullRequest
0 голосов
/ 28 октября 2018

В приложении для Android я пытаюсь использовать функцию FilerReader для чтения моего csv-файла, но после попытки сделать все, что мне не удается найти свой файл.Я использую Android-студии на Mac.

Ниже приведен мой код внутри OnCreate ():

val filereader = BufferedReader(FileReader("sgsraagadata.csv"))

Я попытался поместить файл csv в ресурсы и все папки ресурсов, включая raw-type folder.

Подобные сообщения в Stackoverflow предполагают, что я нахожу каталог, в котором выполняется поиск, и могу поместить файл csv в этот каталог.Но когда я следую их инструкциям ниже, это то, что я получаю.

Когда я использую:

println(System.getProperty("user.dir"))

Он печатает "/".И когда я использую:

println(File(".").getAbsoluteFile())

Он печатает "/."

С учетом этих печатных выводов, где я должен положить файл CSV?

* Также добавил изображениепоказывает CSV-файл в папке активов в соответствии с предложением в комментариях.Результат по-прежнему файл не найдена ошибка.enter image description here

1 Ответ

0 голосов
/ 28 октября 2018

Поместите файл в папку assets и откройте его следующим образом:

val file = context.assets.open("sgsraagadata.csv")
val isr = InputStreamReader(file)
val reader = BufferedReader(isr)

var line = reader.readLine()
while (line != null) {
    // do something with the line
    line = reader.readLine()    
}

укажите действительный контекст или внутри действия вы можете его опустить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...