JAVA如何读取大容量TXT文件
4个回答
展开全部
java读取txt文件内容。可以作如下理解:
首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。
通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西
既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据
解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。
首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。
通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西
既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据
解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。
展开全部
报数组越界跟文件大小没有关系,是你读取到了数组大小以外的数据
如定义数组String[] a = new String[5];
你可以使用a[0],a[1]....a[4]访问,当你使用a[5]时,就报这个错误了!
请确认你代码中的循环都是从0开始!
如定义数组String[] a = new String[5];
你可以使用a[0],a[1]....a[4]访问,当你使用a[5]时,就报这个错误了!
请确认你代码中的循环都是从0开始!
追问
问题是我读小容量文件是没有问题的。文件都是一样的格式。是不是JAVA读取文本不能读太大的文件呢?我文件大概1,2G吧
追答
文件太大的异常都是内存溢出,而不是数组越界,请仔细查看异常信息。
在32位系统中,java最大可用内存好像是2G,64位内存则无限制,但也要看你硬件配置。
而且处理文本文件时,也不要全部加载进内存,都是用到的时候加载,这样内存使用就会很小,就算是1.2G的文件,检索、查看等都是非常快的,如果你一次性加载,速度会很慢。
再说了,你的异常只是数组越界的话,那肯定不是内存的问题,而是你取的数组内容超过你定义的大小,请在访问之前获取数组大小来判断!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多大容量,问题要说清楚,不要含含糊糊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不着调啊,百度去啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询