`

[Android][Kotlin]从文件中读取数据

阅读更多

1.示例代码:

 private fun load() {
   
        var fileInputStream = openFileInput("data")
        
        //把文件内容读取进缓冲读取器(use方法会自动对BufferedReader进行关闭)
        BufferedReader(InputStreamReader(fileInputStream)).use {
            var line: String
            while (true) {
            line = it.readLine() ?: break //当有内容时读取一行数据,否则退出循环
            println(line) //打印一行数据 } }
        }

        }
    }

 

2.注意事项:

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)
}

 以上两种都会出现权限问题.

 

参考:https://stackoverflow.com/questions/2022256/permission-denied-file-created-in-files

Easiest way to open the file (and create it at the same time) would be to use the openFileOutput("file.txt", MODE_PRIVATE) method.

This ensures that the file is only readable by your application (the same as you've have at the moment), plus it returns you a FileOutputStream so you can start writing to it.

 

参考:https://www.jianshu.com/p/832b19b8a025

 

写入数据参见另一篇博文:http://jameskaron.iteye.com/admin/blogs/2423085

分享到:
评论

相关推荐

    Android-在Kotlin中处理Android运行时权限的最简单方法

    在Android开发中,自从Android 6.0(API级别23)引入了运行...从提供的文件名`QuickPermissions-QuickPermissions-Kotlin-98e176a`来看,这是一个用于简化权限管理的库,你可以在项目中集成它来简化你的权限管理逻辑。

    android kotlin 学习教程

    本教程旨在为初学者及有一定经验的开发者提供一个全面、系统的学习路径,帮助大家掌握Kotlin语言及其在Android开发中的应用。Kotlin是一种现代、简洁、功能强大的编程语言,它为Android开发带来了全新的体验。 ####...

    Kotlin RecyclerView使用,浏览相册、选择图片上传,下载文件,文件选择器

    在Android开发中,Kotlin RecyclerView 是一个非常重要的组件,它用于展示可滚动的列表数据。在本项目中,我们探讨了如何利用Kotlin与RecyclerView相结合,实现一系列实用功能,如浏览相册、选择图片上传以及文件...

    Android Studio如何获取SQLite数据并显示到ListView上

    在这个例子中,我们有一个名为`initDate`的类,用于封装从数据库中读取的数据,包括Bitmap图片、内容字符串和时间字符串。 ```java public class initDate { public Bitmap bitmap; public String content; ...

    读取Assets资源文件和Json解析Demo

    在Android应用开发中,我们经常会遇到需要从项目资源文件中读取数据的情况,尤其是非代码文件,如文本、配置文件或JSON数据等。在这种场景下,Android提供了`Assets`目录,用于存放这些非编译型资源。本教程将详细...

    Android软件开发制作第三方数据库与读取文件中数据库详解

    总的来说,Android软件开发中的第三方数据库集成提供了更高效和灵活的数据管理方式,而读取文件中的数据库则是处理非标准数据源或迁移旧数据的有效手段。通过学习和实践这些技术,开发者可以更好地构建高性能、易于...

    Android-一个用于移动app的Kotlin多平台库用于将设置保存为键值对

    标题中的“Android-一个用于移动app的Kotlin多平台库用于将设置保存为键值对”揭示了这个项目的核心功能,即它是一个基于Kotlin的跨平台库,专门设计用于在Android应用程序中存储和管理用户的设置数据。这些设置通常...

    Android-使用Kotlin属性委托实现的基于文件的Key-Value持久化工具

    // 文件读取逻辑 } private fun writeFile(value: String?) { // 文件写入逻辑 } } operator fun get(key: String): String? = delegate.getValue(this, key) operator fun set(key: String, value: ...

    Android-根据翻译读取中文对应的英文写入不同的文件

    在Java或Kotlin中,可以使用Apache POI库来读取Excel文件。首先,需要将Excel文件解析为工作簿对象,然后遍历工作表,获取每一行的数据,对应到中文和英文字符串。 5. **写入不同的文件**: 获取到翻译数据后,...

    Android-基于retrofit2和okhttp3的一个上传和下载库

    在Android开发中,网络编程是不可或缺的一部分,尤其是在处理数据交互时。`Retrofit2` 和 `OkHttp3` 是两个非常流行的开源库,用于简化网络请求。本项目结合这两个库,构建了一个专门针对上传和下载功能的库。下面将...

    Android-基于Swagger端点为Retrofit2生成kotlin代码的库

    3. 编写注解:在Kotlin接口中使用Retrofit和Swagger的注解来表示你的API接口,这些注解将被Retroswagger读取并用于生成代码。 4. 生成代码:在构建过程中,Retroswagger会读取这些注解并自动生成对应的Retrofit接口...

    读取excel数据到数据库

    通过以上步骤,我们可以实现从Excel文件读取数据并将其写入数据库的过程。这个过程在数据分析和自动化任务中非常常见,能有效地整合不同来源的数据,提高工作效率。在实际应用中,应根据具体需求进行适当的调整和...

    android 解析XML文件 生成XML文件

    在Android开发中,XML文件广泛用于存储数据、配置文件以及应用程序间的数据交换。本文将深入探讨如何使用SAX、DOM和Pull解析器解析XML文件,以及如何生成XML文件。我们将同时展示Java和Kotlin两种语言的实现方法。 ...

    Android DataStore使用和封装

    使用`save`函数保存数据,使用`flow`函数读取数据。例如: ```kotlin val dataStore = context.dataStore dataStore.edit { preferences -&gt; preferences[KEY_USER_NAME] = "John Doe" } dataStore.data....

    android中DiskLruCache缓存类

    3. 获取数据:读取数据时,通过键查找对应的文件并反序列化或转换回原始格式。 4. 更新和删除:当数据发生变化时,可以更新对应的缓存;不再需要的数据可以通过键来删除。 使用DiskLruCache需要注意以下几点: - ...

    android 字体下载功能 Kotlin

    在实现字体下载功能时,需要考虑网络问题、存储权限不足、文件读取错误等多种异常情况,并提供适当的错误提示和处理机制,确保用户体验流畅。 综上所述,Android应用使用Kotlin实现字体下载功能涉及到网络请求、...

    Android开发实现读取assets目录下db文件的方法示例

    Android开发中,读取assets目录下db文件是一个常见的操作,特别是在开发基于SQLite数据库的应用程序时。下面我们将详细介绍Android开发实现读取assets目录下db文件的方法,并结合实例形式分析了Android针对assets...

    Kotlin-android 中文版

    - **定义数据类**:介绍如何在 Kotlin 中定义数据类及其优势。 - **复制数据类**:如何轻松地复制数据类实例。 - **映射对象到变量**:将复杂对象的数据映射到简单变量的过程。 ### 解析数据 - **JSON 转换**:如何...

    Android中DataStore替代SharedPreferences

    【Android中的DataStore替代SharedPreferences】 Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序...

    threading_kotlin:使用Kotlin学习用于在android中学习线程的项目

    本项目“threading_kotlin”专注于使用Kotlin语言来探讨Android中的线程管理,旨在帮助开发者理解如何高效地利用线程提升应用性能。 Kotlin是Google推荐的Android开发语言,其简洁的语法和强大的特性使得处理线程...

Global site tag (gtag.js) - Google Analytics