java IO如何完整读取一个文本文件

michaeltang123 2014-02-23 03:34:46
我用javaIO读取一个txt文件里面有1万行,但是我写了几个读取文本的方法,都不能全部读出来最多也就是3000多行
...全文
413 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeZhuang_ 2014-06-20
  • 打赏
  • 举报
回复
楼主你用我上边贴的代码读取。再试试
KeZhuang_ 2014-06-20
  • 打赏
  • 举报
回复

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class BufferedReaderDemo {
	public static String read(String filePath){
		BufferedReader bufr = null;
		StringBuffer sb =null;
		String str = null;
		
		try {
			bufr = new BufferedReader(//把字节流封装成缓冲字符流
					new InputStreamReader(new FileInputStream(filePath)));
			sb = new StringBuffer();
			
			//开始读取
			while((str = bufr.readLine())!=null){
				sb.append(str);//因为是一行一行的,用个StringBuffer
			}
			//关闭流
			bufr.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return sb.toString();
	}
}
一头大葱 2014-06-20
  • 打赏
  • 举报
回复
网上搜一下,下载个集算器,一句代码就搞定: file(文件名).read@n()。可以观察读了多少行数据,能读出说明你的JavaIO写得不对,也不读出说明你的文件系统可能有点问题。 始终调不通,就用集算器来读,然后返回给Java主程序,和数据库调用一样,很简单。
代码间的舞者 2014-02-25
  • 打赏
  • 举报
回复
引用 11 楼 wwcc1681981 的回复:
BufferedReader应该可以
BufferedReader会先将一万行读到内存里面。 楼主的应该不是BufferedReader
冰点. 2014-02-25
  • 打赏
  • 举报
回复
源代码看一下
wwcc1681981 2014-02-25
  • 打赏
  • 举报
回复
BufferedReader应该可以
linhu007 2014-02-24
  • 打赏
  • 举报
回复
用BufferedReader里面貌似有个readLine()的方法,可以整行的读取。
致知Fighting 2014-02-24
  • 打赏
  • 举报
回复
贴代码,不要怀疑API,绝大部分情况下API都是没错的
想喝咖啡的貓 2014-02-24
  • 打赏
  • 举报
回复
只要你内存够大: String f = "e:/a/a.txt"; int fileLen = (int)(new File(f).length()); byte[] buff = new byte[fileLen]; FileInputStream fileIn = ... .....
2.wa 2014-02-24
  • 打赏
  • 举报
回复
上代码看看
代码间的舞者 2014-02-23
  • 打赏
  • 举报
回复
楼主你用什么IO流读取的? 1、是不是指读取一次?一般IO流都要写成while循环,直到文件结束。 2、建议楼主把这部分代码贴出来
haha_321 2014-02-23
  • 打赏
  • 举报
回复
不知道你这个txt是什么内容,我原来导出的表100w行,读起来也没什么问题啊。。。
失落夏天 2014-02-23
  • 打赏
  • 举报
回复
1万行不算多。 应该不是内存溢出,具体看你代码了。 如果你是system.out输出的话。 那么是console控制台的问题,控制台输出有上限的。
afunx 2014-02-23
  • 打赏
  • 举报
回复
为什么要一下子读那么多呢? 是不是虚拟机设置的内存不够多?
灰太狼A代 2014-02-23
  • 打赏
  • 举报
回复
有BufferedReader 读看看,一次读一行 readLine();

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧