【发布时间】:2015-06-22 21:35:44
【问题描述】:
SXSSFWorkbook 做我想做的事,但我想使用不同类型的临时文件,而不是提供的和看似融入实现的临时文件。
在 SheetDataWriter 中
public File createTempFile() throws IOException {
return TempFile.createTempFile("poi-sxssf-sheet", ".xml");
}
所以...我可以通过创建 MySheetDataWriter 并覆盖对 createTempFile 的调用来扩展它。但是,我无法在 SXSSFWorkbook 中使用 MySheetDataWriter ...如果我尝试扩展它,那么包保护方法...不能被覆盖,因为它不可见。 来自 SXSSFWorkbook
SheetDataWriter createSheetDataWriter() throws IOException {
if(_compressTmpFiles) {
return new GZIPSheetDataWriter(_sharedStringSource);
}
return new SheetDataWriter(_sharedStringSource);
}
所以底线是我可以几乎完全按原样使用该实现,但我需要一种不同类型的 Temp 文件......甚至不仅仅是一个不同的目录来放置它,而是一个完全不同的实现。关于如何做到这一点的任何想法?
【问题讨论】:
-
你想用你的备用临时文件实现什么?使用属性可以轻松更改临时文件进入的目录,例如
标签: apache-poi