前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 读取csv格式数据文件

Android 读取csv格式数据文件

作者头像
晨曦_LLW
发布2020-09-25 14:06:29
2.3K0
发布2020-09-25 14:06:29
举报

前言

什么是csv文件呢?百度百科上说 CSV是逗号分隔值文件格式,也有说是电子表格的,既然是电子表格,那么就可以用Excel打开,那为什么要在Android中来读取这个.csv格式的文件呢?因为现在主流数据格式是采用的JSON,但是另一种就是.csv格式的数据,这种数据通常由数据库直接提供,进行读取。下面来看看简单的使用吧

正文

首先还是先来创建一个项目,名为ReadCSV

在这里插入图片描述
在这里插入图片描述

准备.csv格式的文件,点击和风APILocationList

在这里插入图片描述
在这里插入图片描述

下载ZIP,保存到本地,然后解压,这个时候在你的项目文件中新建一个assets文件夹,注意创建的位置

在这里插入图片描述
在这里插入图片描述

然后打开刚才解压后的文件夹,把iso3166.csv复制到这个新建的文件夹下。

在这里插入图片描述
在这里插入图片描述

这里先以Text的格式放置,这个时候你会发现右上角多了一个两个操作选项(如果你是第一次复制csv文件的话),分别是安装插件和同意忽略

在这里插入图片描述
在这里插入图片描述

Android Studio编译器默认是不能直接使用.csv文件的,所以要安装插件,点击Install plugins ,会出现

在这里插入图片描述
在这里插入图片描述

等待下载

在这里插入图片描述
在这里插入图片描述

点击OK就会配置你下载的插件,Android Studio每次配置插件之后都要重启一下,插件才会生效的,再重启之前,再安装一个翻译插件吧,如果你已经安装过了,就直接重启吧。 安装翻译插件,点击File → Settings…

在这里插入图片描述
在这里插入图片描述

点击Plugins,切换到Marketplace ,输入 Translation,等待搜索结果

在这里插入图片描述
在这里插入图片描述

如上图所示就是第一个,点击Install进行下载安装,安装好之后

在这里插入图片描述
在这里插入图片描述

点击Restart IDE 进行重启,静静地等待编译通过,这个时候你可以泡一杯咖啡。

在这里插入图片描述
在这里插入图片描述

可以看到这个时候你的编译器已经可以正常打开.csv格式文件了,然后这个文件中的第一行到第四行都删掉,因为都是没有用的数据,

在这里插入图片描述
在这里插入图片描述

可以看到都是用逗号分隔开的,这就映证了百度百科的说法,那么现在就可以开始读取这个文件里的内容了,其实就跟读取txt差不多的。 打开MainActivity 然后在onCreate中写入如下代码

代码语言:javascript
复制
		InputStreamReader is = null;
        try {
            is = new InputStreamReader(getAssets().open("iso3166.csv"));
            BufferedReader reader = new BufferedReader(is);
            reader.readLine();//读取每行
            String line;
            while ((line = reader.readLine()) != null) {
                Log.d("line -->",line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

代码很简单的,看一下就明白了,运行一下

在这里插入图片描述
在这里插入图片描述

这样数据就读取到了,那么我们刚才安装的翻译插件起到什么作用呢?你有没有这样的疑惑呢?下面来使用这个翻译插件,选中MainActivity,鼠标右键

在这里插入图片描述
在这里插入图片描述

第一个是翻译,第二个是翻译和替换,点击第一个

在这里插入图片描述
在这里插入图片描述

是不是很爽呢?再也不用担心命名的问题了,知道用法之后,我们进入到iso3166.csv,翻译第一行的第一个单词

在这里插入图片描述
在这里插入图片描述

可以看到是阿富汗,这个时候我们再运行一下

在这里插入图片描述
在这里插入图片描述

你以为会出现乱码吗?实际上是并没有出现,但是你会发现第一行的数据没了,天杀的AS居然偷我数据。其实这还真不怪AS,这是BufferedReader.readLine()方法读取文件第一行的bug,首行第一个字符会是一个空字符,所以跳过了,这个Bug在我这里并不需要解决,可以利用的,刚好第一行的数据没有实际意思,就类似于表的表头啊,你都跳过了,我就懒得去处理了,何乐而不为呢?你说是吧!这样基本上就说完了,你可以把这些数据存到Sqlite里面,在使用的时候再调用就可以,如果你想看这方便的内容请留言给我,我给你补充上。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档