关于读取文件字符的两种写法在Lucene中的问题
来源:互联网 发布:服务器端 java 编辑:程序博客网 时间:2024/05/20 14:19
记的前几个月抄一本书中的代码时报out of memory错误,当时就蒙了,处理很长时间都未果.今天和视频里的写法进行简单的比对和分析:
先是书中的给Field加值(content)
public String loadFileToString(File file){try {BufferedReader br = new BufferedReader(new FileReader(file)));StringBuffer sBuffer = new StringBuffer();String lineString = br.readLine();/*while(lineString!=null){sBuffer.append(lineString);}br.close();return sBuffer.toString();*/} catch (Exception e) {// TODO: handle exceptione.printStackTrace();return null;}}
后者是视频中的代码
public static String readFileContent(File file) {try {BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));StringBuffer content = new StringBuffer();for(String line = null; (line = bufferedReader.readLine())!=null;){content.append(line).append("\n");}return content.toString();} catch (Exception e) {// TODO: handle exceptionthrow new RuntimeException(e);}//return null;}
原因是 : while循环一直在执行lineString这句话,直到内存枯竭.
应在while中加入while(linString = bufferreader.readline()!=null)
- 关于读取文件字符的两种写法在Lucene中的问题
- 关于绑定GridView的两种写法
- iOS关于model的两种写法
- PopupWindow 布局文件的两种写法
- 字符流的两种读取方式
- IO流的读取问题及其在文件中的影响
- 关于Python读取中文(可能也包括其他一些奇葩的字符)文件,并成功在Windows终端上显示的问题
- Rust: map中的问题,两种写法有什么不同?
- 关于正则表达式在access读取字符后替换的问题
- 黑马程序员——FileReader文件读取两种方式字符,字符数组读取
- php读取文件中的字符
- 读取excel文件显示在gridview中数据.字符.数字混合时无法全部读取的问题!
- 关于单子模式(synchronized)的两种写法
- 3、关于onclick事件的两种写法
- 关于gcd的函数和过程两种不同写法
- C++文件顺序读取,最后一个字符被读取两遍的原因
- 两种IP文件的读取
- 资源文件的两种读取方式
- PowerDesigner对数据库操作
- 我们喜欢这样的实习生
- vc连接mysql实践成功
- 接口数据流控制问题
- 设置svn强制写日志和日志可修改方法
- 关于读取文件字符的两种写法在Lucene中的问题
- What’s a pre-borrow?
- VBA的UserForm 中的Scrolllbar
- Linux shell脚本全面学习
- some security finance term
- KlayGE游戏引擎
- Android游戏开发之传感器
- scott 创建视图权限不足 ora-01031
- 用C++对注册表进行操作