java SXSSFWorkbook 如何获取 临时文件大小
时间: 2023-10-16 13:35:48 浏览: 248
如果你需要获取 `SXSSFWorkbook` 创建的临时文件的大小,可以通过 `SXSSFWorkbook` 类中的 `getPackage()` 方法获取 `OPCPackage` 对象,然后通过 `OPCPackage` 对象的 `getPartSize()` 方法获取临时文件的大小,示例代码如下:
```java
SXSSFWorkbook workbook = new SXSSFWorkbook();
// 在 workbook 中添加数据
// ...
OPCPackage opcPackage = workbook.getPackage();
long size = opcPackage.getPartSize("/xl/sharedStrings.xml");
System.out.println("Temporary file size: " + size + " bytes");
```
需要注意的是,临时文件是在使用 `SXSSFWorkbook` 时动态创建并存储的,因此在调用 `getPartSize()` 方法之前,你需要先向 workbook 中添加一些数据,才能让 `SXSSFWorkbook` 生成临时文件。同时,这里获取的是 `sharedStrings.xml` 这个部件的大小,因为这个部件通常是临时文件中最大的部件,可以反映出临时文件的大小。如果你需要获取整个临时文件的大小,可以通过 `OPCPackage` 对象的 `getSize()` 方法获取。
相关问题
apache POI SXSSFWorkbook 获取 临时文件大小
如果你需要获取 `SXSSFWorkbook` 创建的临时文件的大小,可以通过 `SXSSFWorkbook` 类中的 `getPackage()` 方法获取 `OPCPackage` 对象,然后通过 `OPCPackage` 对象的 `getSize()` 方法获取临时文件的大小,示例代码如下:
```java
SXSSFWorkbook workbook = new SXSSFWorkbook();
// 在 workbook 中添加数据
// ...
OPCPackage opcPackage = workbook.getPackage();
long size = opcPackage.getSize();
System.out.println("Temporary file size: " + size + " bytes");
```
需要注意的是,临时文件是在使用 `SXSSFWorkbook` 时动态创建并存储的,因此在调用 `getSize()` 方法之前,你需要先向 workbook 中添加一些数据,才能让 `SXSSFWorkbook` 生成临时文件。同时,这里获取的是整个临时文件的大小,如果你需要获取临时文件中某个部件的大小,可以通过 `OPCPackage` 对象的 `getPartSize()` 方法获取。
SXSSFWorkbook 如何获取 临时文件大小
如果你需要获取 SXSSFWorkbook 创建的临时文件的大小,可以通过 `SXSSFWorkbook` 类中的 `getSharedStringSource()` 方法获取 `SharedStringSource` 对象,然后通过 `getAsJSZip().size()` 方法获取临时文件的大小,示例代码如下:
```java
SXSSFWorkbook workbook = new SXSSFWorkbook();
// 在 workbook 中添加数据
// ...
SharedStringSource sharedStringSource = workbook.getSharedStringSource();
long size = sharedStringSource.getAsJSZip().size();
System.out.println("Temporary file size: " + size + " bytes");
```
需要注意的是,临时文件是在使用 `SXSSFWorkbook` 时动态创建并存储的,因此在调用 `getAsJSZip().size()` 方法之前,你需要先向 workbook 中添加一些数据,才能让 SXSSF 生成临时文件。另外,`getAsJSZip()` 方法返回的是一个 `java.util.zip.ZipFile` 对象,因此你也可以通过其他方法获取临时文件的大小,比如使用 `ZipFile` 类中的 `size()` 方法。
阅读全文