【发布时间】:2018-08-16 15:11:47
【问题描述】:
我正在使用 Saxon 8 来解析 XQuery 并分析 API 返回的 xml 文件。 问题是传入参数的 FileWriter 总是在“覆盖”模式下使用,即使构造函数使用的是 true 参数。
我所拥有的示例:
sqc.compileQuery(new FileReader(xq.getCurrentXQueryFile())).run(dqc, new StreamResult(new FileWriter(xq.getResultsFile(), true)), props);
sqc 是一个静态查询上下文。 "true" 是 FileWriter 构造函数使用附加模式的可选参数。
所以正如我所说,它仍然会在每个“compileQuery”上重写文件。 我试着查了一下来源,但对我的水平来说实在是太重了……
因此,如果有人知道是否有一种“干净”的方法可以在单个文件中获得多个结果,谢谢! :-)
PS:我知道每次启动创建一个文件然后在一个文件中获取所有文件的内容很容易,但这不是我所说的“干净”。
【问题讨论】:
-
new FileOutputStream(xq.getResultsFile(), true)对于字符集编码会更好。关于错误:尝试用一些静态文件替换xq.getResulsFile(),看看会发生什么。