本人初学者 写了个程序读大文件实在是太消耗内存
开始是一次读取全部文件 想改成一行一行读的。。
想请教高手麻烦帮我改一下 非常感谢
程序如下 这是原始读取全部文件的代码,包括后面流的关闭之类 麻烦都帮忙写清楚一点 不甚感激
public class AAAA{
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = domfac.newDocumentBuilder();
InputStream is = new FileInputStream(filename);
Document doc = builder.parse(is);谢谢!

解决方案 »

  1.   

    BufferedReader br=new BufferedReader(new FileReader(filename));
    然后就可以用br.readLine()一行行地读了
      

  2.   

    看你代码应该是读的xml,而且用dom方式读的。
    文件太大的话,用sax或者stax解析方式,google下
      

  3.   


    对的  XML 貌似DOM必须全部读取啊 很纠结。。又不想改太多。。
      

  4.   

    用基于事件的sax 可以把你关心的数据全保存到你自定义的数据结构里。
    即使你就是要读取xml文件中的所有,那也应该如此。否则使用dom在内存上的消耗降不下来。
      

  5.   

    想一行一行解析xml?
    那应该采用基于事件SAX,解析你所关注的tag的数据