版权声明:本文为xing_star原创文章,转载请注明出处!
本文同步自http://javaexception.com/archives/183
很久之前写了一篇Java读取文本文件内容,链接地址是http://javaexception.com/archives/128 本篇是它的续集,这篇的重点是在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的方法,就可以获取到文件流的文本内容了。