Android按行读取txt文件示例与Map存储

3 下载量 140 浏览量 更新于2024-08-28 收藏 121KB PDF 举报
在Android开发中,处理文本文件(如TXT格式)是非常常见的任务,特别是在需要读取设备上的本地数据或者从网络获取数据后进行解析时。本篇实例讲解的重点是如何在Android应用中实现读取TXT文件并按行进行操作。具体步骤如下: 首先,在`MainActivity`类中,继承自`AppCompatActivity`,这表明该活动是Android应用的一部分,且包含了UI组件,如`TextView`和`Button`,用于显示读取的结果。定义了三个`TextView`对象和一个`Button`对象,分别通过`findViewById`方法与XML布局中的`id`关联。 在`onCreate`方法中,我们初始化UI组件并设置内容视图。当应用程序启动时,会执行此方法,加载指定的布局文件(activity_main.xml)。接下来,通过文件路径字符串`"/sdcard/sdl_log.txt"`获取TXT文件,这里假设文件存储在SD卡上。 然后,创建一个名为`Txt()`的方法,用于读取文件并将其内容转换为`Map`数据结构。在这个方法内部,创建一个`File`对象来表示TXT文件,检查文件是否存在且为普通文件。如果满足条件,使用`FileInputStream`和`InputStreamReader`打开文件,进一步通过`BufferedReader`逐行读取文件内容。 在`while`循环中,`BufferedReader`的`readLine()`方法被用来读取每一行文本,将其存储到`lineTxt`变量中。接着,将每行文本作为`Map`的键值对存储,其中键(`Integer`类型)用作行号,值(`String`类型)为读取的行内容。`HashMap`是一个无序的数据结构,适合存储这种键值对关系。 最后,在`onCreate`方法中,使用`Map`中的值,即读取的行内容,更新相应的`TextView`对象的显示。通过索引`0`, `1`, 和 `2`获取Map中的字符串,分别赋值给`textView`, `textView2`, 和 `textView3`。 总结来说,本实例展示了如何在Android应用中使用Java I/O流和数据结构`HashMap`来读取TXT文件,按行存储并展示数据。这对于实现数据的动态加载、数据分析或简单的文本处理非常有用。注意,实际应用中可能需要处理异常、文件路径管理以及优化文件读取性能等问题。