如何更改 Apache POI SXSSFWorkbook 默认临时文件名

How to change the Apache POI SXSSFWorkbook default temporary file name

我正在使用 POI 的 SXSSFWorkbench class 创建非常大的工作簿。多个进程可能同时是我的应用程序的 运行,所以我认为将 processId 附加到默认临时文件名是明智的。我不知道该怎么做,也找不到任何最新的编码示例。

谁能给我举个例子,或者给我概述一下必须做什么?我看到有一个静态 TempFile.createTempFile 方法。在实例化 SXSSFWorkbook class 之前,我是否应该使用 class 覆盖执行它?还是之后?

我还看到有一个 DefaultTempFileCreationStrategy class。也找不到如何使用它的示例。

Apache POI 为此使用的主要 class 是 TempFile

您要调用的方法是 TempFile.setTempFileCreationStrategy

您需要做的是创建您自己的 class 实现接口 TempFileCreationStrategy. This is nice and simple, with just two methods, createTempDirectory and createTempFile

要了解所涉及的内容,您可以 look at the source code for DefaultTempFileCreationStrategy online here。很简单,只要在线程和命名方面根据自己的需要输入逻辑即可。