java读写大文本文件的问题

问题描述

1.用Java读一个10以上的文本文件,需很多次读取其中一小部分内容,且每次读入的内容处理后才知道下次需读入的部分?求思路2.输出到一个新的文本文件,需输出的内容很多,必须分多次输出。当每次缓存到多大时输出,能获得最大效率?

解决方案

解决方案二:
才有人问过这问题,参考下http://topic.csdn.net/u/20100713/09/5dfd2fa1-fefe-4f2a-854b-5077b669ccd2.html
解决方案三:
1题:使用BufferedInputStream效率会不错,不过没看到你的需求。2题:可以使用BufferedOutputStream,默认情况下有btte[8192]的缓存,效率比较高。
解决方案四:
引用2楼heartraid86的回复:

1题:使用BufferedInputStream效率会不错,不过没看到你的需求。2题:可以使用BufferedOutputStream,默认情况下有btte[8192]的缓存,效率比较高。

对于第一题,需求是又一个大的文本文件,无法一次性读入内存,开始需要读入其中一行,然后经过一定计算后根据结果再去读入另一行数据。如此进行很多次,直至求出最后结果。问题在于,每次去读这个大文件时我都要从头开始读,很废时间。现在有种思路是把该大文件先分割成很多小文件。但不知分割成多大的小文件比较好。
解决方案五:
就用IO啊!
解决方案六:
大家好厉害啊。期待你们的成果。
解决方案七:
自己顶!
解决方案八:
FileChannel,至于Buffer需要多大这个根很多因素有关,一般看操作系统
解决方案九:
FileChannel可以满足你
解决方案十:
你可以用流对象的skip方法跳过一段字节继续读取
解决方案十一:
也许用MappedByteBuffer效率会高些。MappedByteBuffer就像一个窗口一样可以在你的大文件上面按照你指定的位置滑动!
解决方案十二:
强烈建议用nio,通过FileChannel可以极大提高读写效率。其中,缓冲池的大小可以根据文件的大小适当的调整。最近刚做了一个文本替换工具,替换一个60多M的文件只要5.8s(替换内容不多,数值仅供参考)。
解决方案十三:
该回复于2011-11-15 09:34:32被版主删除

时间: 2024-11-03 14:12:52

java读写大文本文件的问题的相关文章

Java查询大文本文件的处理方法

有时我们需要查询大文本而不是数据库,这时就需要流式读入文件并实现查询算法,还要进行并行处理以提高性能.但JAVA本身缺少相应的类库,需要硬编码才能实现结构化文件计算,代码复杂且可读性差,难以实现高效的并行处理. 使用免费的集算器可以弥补这一不足.集算器封装了丰富的结构化文件读写和游标计算函数,书写简单代码就能实现并行计算,并提供了易用的JDBC接口.JAVA应用程序可以将集算器脚本文件当做数据库存储过程执行,传入参数并用JDBC获得返回结果. 集算器与Java应用程序的集成结构如下: 下面举例说

java读取大文件简单实例

 这篇文章主要介绍了java读取大文件简单实例,有需要的朋友可以参考一下 我要从一个文本文件中提有用的数据  文本文件200多MB  是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做?    JAVA中可以使用内存映射文件来操作大文件.  最大可达2GB.  下面是个简单的示例,更具体的自己看Java API DOCS或相关资料      代码如下: import java.io.*;  import java.nio.*;  import java.nio.channels.*

Android应用程序中读写txt文本文件的基本方法讲解_Android

最终效果图,点击save会保存到文件中,点击show会从文件中读取出内容并显示. main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layou

用JAVA将大图片文件转换出小的缩略图文件

缩略图|转换 用JAVA将大图片文件转换出小的缩略图文件,要求使用JDK1.4,大家可以将这段程序代码改为JavaBean,以便在WEB环境中使用,转换出的小缩略图效果不错! import javax.imageio.ImageIO;import javax.imageio.IIOException;import java.awt.image.BufferedImage;import java.awt.Image;import java.io.File;import java.awt.image

Java读写Cookie记录的方法

  本文实例讲述了Java读写Cookie记录的方法.分享给大家供大家参考.具体如下: 写Cookie ,cookie的value可以使String, list , map,int : ? 1 2 3 4 5 6 7 Cookie usernameCookie = new Cookie("username_" + schoolId, encodedUsername); usernameCookie.setMaxAge(60 * 60 * 24 * 365); response.addC

关于增强for循环赋值问题(JAVA) 求大神回复一下小白

问题描述 关于增强for循环赋值问题(JAVA) 求大神回复一下小白 自定义的类: class SS{ String a; public SS(String a) { super(); this.a = a; } public String getA() { return a; } public void setA(String a) { this.a = a; } @Override public String toString() { // TODO Auto-generated metho

helloworld-求教java Struct大神!!!配置一个HelloWorld出现了以下问题,求指教!!!

问题描述 求教java Struct大神!!!配置一个HelloWorld出现了以下问题,求指教!!! 解决方案 原因应该是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的. 1 如果是一般的java程序: 可以在MyEclipse中修改JRE的路径和版本.在Window->Preferences中, 修改完之后,最好重新编译一下,选Project->Clean... 选项,然后选择是所有的项目都要重新编译,还是只重新编译指定的项目,然后就应该没问题了.

java调用大华 sdk连接摄像头怎么做?

问题描述 java调用大华 sdk连接摄像头怎么做? 那位大神知道java调用大华 sdk连接摄像头怎么做?求指点啊 解决方案 这种厂家摄像机都是嵌入式产品,开发用的都是c,为什么不用c或c++做 解决方案二: 现在也在搞,你搞好了吗.给个demo看看呗.

Linux 中如何打开一个大文本文件

在"大数据"时代,我们会经常遇到有大文本文件(上 GB 或更大)的情况.假设需要我们手工的搜索和编辑这些大文件,或者为了解决一些特定的问题而需要手工分析多个上 GB 的日志文件.传统的文本编辑软件对处理这样的大文件不太有效,当我们试图打开一个大文件时会经常由于内存不足而郁闷的不行. 如果你是一个精明的系统管理员,你也许会用 cat.tail.grep.sed.awk 等这些命令的组合来打开和编辑一个文本文件.在这篇教程里,我将会谈论关于如何在 Linux 中打开(并编辑)一个大文本文件