是用BufferedReader和BufferedWriter了吗?带Buffer的io不应该太慢的

解决方案 »

  1.   

    用java.nio类库创立内存映射就可以读很大的文件MappedByteBuffer inputBuffer = new FileInputStream(file).getChannel().map(FileChannel.MapMode.READ_ONLY, 0, fileLength);//读取大文件 
      

  2.   

    你可以参考一下这个帖子:http://topic.csdn.net/u/20070323/13/b9fa6578-9a9c-4280-97a3-00c0aedc853e.html
      

  3.   

    这个问题要先有一个前提,数据是怎么处理的。
    如果只是当前行的话,就用bufferedInputStream, 这个就算是最快的IO了。nio下的包,我也试过,并不见得有多快。一次读取buffer[length],length的值要适中,JDK里,好像是4096。然后自己解析+处理。
    没有依赖的话,处理完成后就用流写到另一个文件,java大文件应该可以每秒读30-40M,写要慢一点。还有要保证当前磁盘没有其它的IO操作,感觉分割文件用多线程,如果在一块磁盘上的话,速度肯定不会快。
    关注。
      

  4.   

        我现在是ftp定时传输,每10分钟传输一个文件, 每个文件大约3M,一天得处理144个文本文件。