Android-Kotlin 讀取assets文件夾數據文件-json等

剛開始照搬java就出坑了....發現讀取的數據不全等問題

然後 就 總結了幾種 kotlin的讀取方法

示例:

 private fun load() {
        var fileInputStream = openFileInput("data")
        //把文件內容讀取進緩衝讀取器(use方法會自動對BufferedReader進行關閉)
        BufferedReader(InputStreamReader(fileInputStream)).use {
            var line: String
            while (true) {
            line = it.readLine() ?: break //當有內容時讀取一行數據,否則退出循環
            println(line) //打印一行數據 } }
            }
        }
    }

注意事項:

kotlin讀取文件有多種方法,但是讀取本地/data/data/.../files裏的文件,必須要用fileInputStream

要不會出現Permission Denie錯誤.

那麼kotlin讀取文件有什麼方法呢?一種是上面的方法,其次

第一種

fun main(args: Array<String>) { 
       val file = File("build.gradle") //新建文件讀取build.gradle的內容 
       //把文件內容讀取進緩衝讀取器 
       val bufferedReader = BufferedReader(FileReader(file)) 
        var line: String while (true) {
       //當有內容時讀取一行數據,否則退出循環 
       line = bufferedReader.readLine() ?: break 
       println(line) //打印一行數據 
      } 
     bufferedReader.close() //關閉緩衝讀取器 
}

第二種

fun main(args: Array<String>) {
    //最簡單打印文件內容的方法,readLines()方法可讀取文件內容
    File("build.gradle").readLines().forEach(::println)
}

以上爲讀取本地文件的方法

重點

當你想讀取assets文件夾下內容就醬紫咯...

val input = Context.assets.open(fileName) //傳入文件名稱 讀取assets文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章