版权声明:本文为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的方法,就可以获取到文件流的文本内容了。
 
 

最新文章

  1. web前端历史的总结
  2. eclipse 用links 安装插件
  3. 深入理解javascript中的立即执行函数(function(){…})()
  4. 解决myeclipse每次启动注册码过期输入注册码
  5. 几种server模型
  6. [zz] makefile中=和:=的区别
  7. linux杂谈(十九):DNSserver的配置(二)
  8. cocos2d疑问
  9. [转]在Linux里设置环境变量的方法
  10. 7篇Model View和4篇双缓冲
  11. C# 常用接口学习 IComparable 和 IComparer
  12. 在Linux上使用PGP签名验证文件完整性
  13. PuppeteerSharp: 更友好的 Headless Chrome C# API
  14. Linux中检查本地系统上的开放端口列表的方法
  15. msf help.
  16. kbmMW SmartService控制返回类型
  17. Python学习(26):Python函数式编程
  18. Awk 从入门到放弃 (7) 动作总结之二
  19. 为什么不取消注册BroadcastReceiver会导致内存泄漏
  20. java中的数据加密

热门文章

  1. luogu P2899 [USACO08JAN]手机网络Cell Phone Network |贪心
  2. git 设置和取消指定域名代理 - git config proxy
  3. Mysql多实例数据库
  4. 使用ExcelPackage进行Excel报表
  5. 使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2
  6. 在 VSCode 中 Angular 的字符串报错的问题
  7. oracle中的分组排序
  8. C#线程学习笔记四:线程同步
  9. WinForm自定义控件之DefaultValue的误解
  10. JS---最终版本--封装缓动(变速)动画函数---增加任意多个属性&amp;回调函数&amp;层级&amp;透明度