基于android中读取assets目录下a.txt文件并进行解析的深入分析
程序员文章站
2022-05-19 17:22:16
...
android读取assets文件下的内容,一般都是使用getAsset.open()方法,并将文件的路径作为参数传入,而当我们解析一个目录下的文件时需要对其进行解析时,比如:a.txt文件的内容为:
name
android,liu
class
1,2,3,4
这些文件有时就像是数据库文件的格式一样,我们就需要对其进行解析。
我们知道获取assets文件后返回的是一个inputstream而不是一个file类型,所以我们需要对inputstream进行解析。主要分为两个阶段:第一个阶段为:去换行符,第二个阶段为分解每行信息。(ps:本人是个菜鸟,这个是我自己尝试的一个方法,希望有更好的方式来进行解析)
我们需要将inputstream中的内容进行存储,先暂时存储到一个byte【】数组中,然后将byte数组放入string串中,接下来就是对该串进行解析。
第一阶段:去换行符。通过string.split("[\\n]")方法(ps:为什么要用[\\n]呢,这个可以查阅正则表达式,而[\\n]的意思就是匹配换行符),这样我们需要将分割的结果存储到string数组中。
第二阶段:分解每行信息。可以说第一阶段做的就是将每一行的信息存储到string数组中了,接下来就是对每个string进行解析,同样需要用到string.split()方法,由于我们用到的是逗号作为分隔符,所以"[,]"作为参数进行分割,同时需要注意的是在进行数据的转换时需要将string中的空格去掉,使用到string.trim()方法,这样就可以将string转换成int。
接下来就是怎样将这些信息使用到程序中了 。
name
android,liu
class
1,2,3,4
这些文件有时就像是数据库文件的格式一样,我们就需要对其进行解析。
我们知道获取assets文件后返回的是一个inputstream而不是一个file类型,所以我们需要对inputstream进行解析。主要分为两个阶段:第一个阶段为:去换行符,第二个阶段为分解每行信息。(ps:本人是个菜鸟,这个是我自己尝试的一个方法,希望有更好的方式来进行解析)
我们需要将inputstream中的内容进行存储,先暂时存储到一个byte【】数组中,然后将byte数组放入string串中,接下来就是对该串进行解析。
第一阶段:去换行符。通过string.split("[\\n]")方法(ps:为什么要用[\\n]呢,这个可以查阅正则表达式,而[\\n]的意思就是匹配换行符),这样我们需要将分割的结果存储到string数组中。
第二阶段:分解每行信息。可以说第一阶段做的就是将每一行的信息存储到string数组中了,接下来就是对每个string进行解析,同样需要用到string.split()方法,由于我们用到的是逗号作为分隔符,所以"[,]"作为参数进行分割,同时需要注意的是在进行数据的转换时需要将string中的空格去掉,使用到string.trim()方法,这样就可以将string转换成int。
接下来就是怎样将这些信息使用到程序中了 。
更多基于android中读取assets目录下a.txt文件并进行解析的深入分析相关文章请关注PHP中文网!