欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

java读取文本文件内容2

程序员文章站 2022-05-29 10:02:12
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/183 很久之前写了一篇Java读取文本文件内容,链接地址是http://javaexception.com/archives/128 本篇是它的续集,这篇的重 ......

版权声明:本文为xing_star原创文章,转载请注明出处!

本文同步自

很久之前写了一篇java读取文本文件内容,链接地址是 本篇是它的续集,这篇的重点是在android中,java读取文本文件内容,读取的是android中asset目录或者是raw这样的目录里面的文本文件内容,那么针对这种我们该如何处理呢,在前面的代码中是要做出一定程度的修改的。

java读取文本文件

下面看一下完整的代码
 
public static string readfilecontent(inputstream inputstream) {
    inputstreamreader inputstreamreader = new inputstreamreader(inputstream);
    bufferedreader reader = null;
    stringbuffer sbf = new stringbuffer();
    try {
        reader = new bufferedreader(inputstreamreader);
        string tempstr;
        while ((tempstr = reader.readline()) != null) {
            sbf.append(tempstr);
        }
        reader.close();
        return sbf.tostring();
    } catch (ioexception e) {
        e.printstacktrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (ioexception e1) {
                e1.printstacktrace();
            }
        }
    }
    return sbf.tostring();
}
下面列一个最近的使用场景,有些时候需要写个demo,但是呢,数据源来自于公司的app。在公司app上做实验(app业务复杂,太庞大),代码编译太慢,太影响调试进度,就想着写个demo,把数据源放到文本文件中,从文本文件中获取数据源,渲染界面。

 

public wallbean getfacewall() {
    string content = null;
    try {
        content = fileutils.readfilecontent(getresources().getassets().open("test.txt"));
    } catch (ioexception e) {
        e.printstacktrace();
    }
    if (textutils.isempty(content)) {
        return null;
    }
    return new gson().fromjson(content, new typetoken<wallbean>() {
    }.gettype());
}
这部分代码,先获取assets目录下test.txt文本文件的文件流,然后呢,使用我们上面写的读取inputstream的方法,就可以获取到文件流的文本内容了。