我正在尝试将XML数据反序列化为新创建的Java内容树:
我正在使用SAX,在src\main\java\Summaries.java下有Java类,我正在尝试简单地打印提取的文档:
String xmlPath = "C:\\workspace-sts-2.8.0.RELEASE\\RESTClient\\src\\main\\resources\\dailySummary.xml";
String xmlPath2 = "/dailySummary.xml";
String xmlPath3 = "/src/main/resources/dailySummary.xml";
InputStream inputStream = null;
InputSource inputSource = null;
Unmarshaller unmarshaller = null;
JAXBContext jc = null;
try
{
// read from a file
// or try xmlPath1 or try xmlPath3
inputStream = RESTtestclient.class.getClassLoader().getResourceAsStream(xmlPath2);
inputSource = new InputSource(inputStream);
SAXParserFactory sax = SAXParserFactory.newInstance();
sax.setNamespaceAware(true);
XMLReader reader = sax.newSAXParser().getXMLReader();
SAXSource saxSource= new SAXSource(reader, inputSource);
// use jAXB
Class[] classes = new Class[1];
classes[0]= Summaries.class;
jc = JAXBContext.newInstance(classes); …Run Code Online (Sandbox Code Playgroud) 我们正在使用 OpenCSV
(http://opencsv.sourceforge.net/apidocs/au/com/bytecode/opencsv/CSVWriter.html)
从包含 xml 内容的文件编写报告。
有两种方法可以解决这个问题 ->
i) 使用 FileOutputStream 写入
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osr= new OutputStreamWriter(fos);
writer = new CSVWriter(osr);
Run Code Online (Sandbox Code Playgroud)
ii) 使用 BufferedWriter 写入
BufferedWriter out = new BufferedWriter(new FileWriter(file));
writer = new CSVWriter(out);
Run Code Online (Sandbox Code Playgroud)
有谁知道选择一个选项而不是另一个选项会如何影响本报告的撰写绩效?
据我了解,OpenCSV 并不关心只要它获得可以使用的流即可。
性能的增量(差异)将是其之前的步骤,其中从文件创建输出流。
使用OutputStreamWriter与BufferedWriter对性能有何影响?