小编use*_*913的帖子

将SAX与JAXBContext一起使用

我正在尝试将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)

sax jaxb saxparser

1
推荐指数
1
解决办法
7250
查看次数

使用 OpenCSV 的 FileOutputStream 的性能影响

我们正在使用 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 并不关心只要它获得可以使用的流即可。

性能的增量(差异)将其之前的步骤,其中从文件创建输出流。

使用OutputStreamWriterBufferedWriter对性能有何影响?

fileoutputstream bufferedwriter opencsv

1
推荐指数
1
解决办法
5611
查看次数