Java 在应用程序生命周期中重用InputSource

Java 在应用程序生命周期中重用InputSource,java,android,inputstream,Java,Android,Inputstream,我使用InputSource解析一个大的xml文件(1.2MB)。我需要把这个输入源保存在内存中。我不想继续加载它。为什么要这样做,最好的办法是什么?我尝试过使用单例,但Sax解析器抱怨在第二次访问对象引用后文档缺少结束标记 如有任何建议,将不胜感激 InputStream ins = getResources().openRawResource(R.raw.cfr_title_index); InputSource xmlSource = new InputSource(ins); M

我使用InputSource解析一个大的xml文件(1.2MB)。我需要把这个输入源保存在内存中。我不想继续加载它。为什么要这样做,最好的办法是什么?我尝试过使用单例,但Sax解析器抱怨在第二次访问对象引用后文档缺少结束标记

如有任何建议,将不胜感激

InputStream ins = getResources().openRawResource(R.raw.cfr_title_index);    
InputSource xmlSource = new InputSource(ins);
MySinglton.xmlInput = xmlSource;
谢谢

流是“读取一次”。你不应该计划抓住它。如果需要将其内容存储在内存中,请将其读入对象或数据结构并缓存