我要用java做一个小工具,就像写字板,文本文档,记事本那样的能打开文件并阅读的小工具,但是现在遇到个问题 如果这个文件很大 比如10M 就很难打开 等都在小工具的界面上显示出来了都快一分钟了 (记事本和文本文档也很慢 ,但是写字板超快 也就一秒多) 我试过用BufferedReader但是不好用 还是慢 后来上网查说NIO包中有个类叫做MappedByteBuffer 有点像RandomAccessFile 关于内存映射的 非常快 网上说用这个读文件最大能达到2G 但是我找了半天资料后没看明白 不知道有没有牛人能帮个忙写个小例子看下 多谢了 
ps:我就是想把一个大文件用IO包中方法读出来然后显示在我做的那个小工具上,也就是显示在textarea上 但是很慢 请各位大虾不吝赐教 多谢还有 bufferedReader的那个比较复杂的构造函数有两个参数 后一个jdk上说是输入缓冲区的大小  但没说清楚  然后我在一个例子上看到了有人在那个参数的位置上写的是:10*1024*1024 ,请问这个参数的单位是byte吗?

解决方案 »

  1.   

    我认为这个没有任何一种流可以解决,我建议你采用缓冲的方式,先读一部分,需要时再继续读。
      

  2.   

    如果你希望把数据都读取出来并显示,我想对于大文件可能不现实。建议你用流的方式读取
    使用有限内存处理,读取超大文本文件
     
      

  3.   

    那么如果分段读取是否可以呢?  用什么方法?线程?