本帖最后由 u011405734 于 2013-07-15 01:34:22 编辑

解决方案 »

  1.   

    估计楼主还是没明白缓冲的概念呀!
    通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,  BufferedReader in
       = new BufferedReader(new FileReader("foo.in"));
     将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
    Java DOC 中的原话!
      

  2.   

    频繁的I/O操作很费内存的。一个只需要打开文件一次,一个可能需要N次。效率相差很多啊。就比如送快递吧。没必要一件一件送,在同一个地方的大可以一车一车送。