如何更改 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。很简单,只要在线程和命名方面根据自己的需要输入逻辑即可。
我正在使用 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。很简单,只要在线程和命名方面根据自己的需要输入逻辑即可。