FilePath = "d:/test/"+targetFile;
// 判断XML文件是否存在
File infexFile = new File(FilePath.trim());
SAXBuilder builder = new SAXBuilder(false);
Document doc = builder.build(infexFile);
而使用下面的方法如果是大文件的话,话在while处有问题;
if (infexFile.exists()) { // 装载XML文件
Reader reader = new InputStreamReader(new FileInputStream(infexFile));
int tempchar;
while ((tempchar = reader.read()) != -1) {
xml += (char) tempchar + "";
}
System.out.println("装载XML文件end!!!");
reader.close();
}
else { return null; }
StringReader read = new StringReader(xml);
inputsource = new InputSource(read);
Document doc = new SAXBuilder().build(inputsource);
综上:使用开始的方法是简洁快捷的。
// 判断XML文件是否存在
File infexFile = new File(FilePath.trim());
SAXBuilder builder = new SAXBuilder(false);
Document doc = builder.build(infexFile);
而使用下面的方法如果是大文件的话,话在while处有问题;
if (infexFile.exists()) { // 装载XML文件
Reader reader = new InputStreamReader(new FileInputStream(infexFile));
int tempchar;
while ((tempchar = reader.read()) != -1) {
xml += (char) tempchar + "";
}
System.out.println("装载XML文件end!!!");
reader.close();
}
else { return null; }
StringReader read = new StringReader(xml);
inputsource = new InputSource(read);
Document doc = new SAXBuilder().build(inputsource);
综上:使用开始的方法是简洁快捷的。
本文对比了两种加载大型XML文件到内存的方式,并建议使用简洁快速的方法。第一种方法通过FileInputStream和StreamReader直接读取文件,第二种方法使用SAXBuilder进行构建。在处理大量数据时,推荐采用前者以提高效率。
3731

被折叠的 条评论
为什么被折叠?



