KDj*_*ava 4 java crash jvm apache-poi jvm-crash
尝试写入.xlsx文件时JVM崩溃.我正在使用POI(XSSF).代码中的错误位置点是写入method--> workBook.write(fileOutputStream);
在控制台我得到..
A fatal error has been detected by the Java Runtime Environment:
SIGBUS (0x7) at pc=0xb68d77f3, pid=14653, tid=1849355120
JRE version: 7.0_04-b20
Java VM: Java HotSpot(TM) Server VM (23.0-b21 mixed mode linux-x86 )
Problematic frame:
C [libzip.so+0x47f3] newEntry+0x73
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
If you would like to submit a bug report, please visit:
http://bugreport.sun.com/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.
Run Code Online (Sandbox Code Playgroud)
Jon*_*eau 10
我找到的解决方案,我一直在寻找一段时间,是为了确保你不打开你Workbook用File你打开它FileOutputStream来保存Workbook.相反,使用a FileInputStream来打开Workbook.
像这样的东西将完美无缺
File inputFile = new File("Your-Path");
this.inputStream = new FileInputStream(inputFile);
this.opc = OPCPackage.open(this.inputStream);
this.workbook = WorkbookFactory.create(opc);
...
this.outputStream = new FileOutputStream(inputFile);
this.workbook.write(this.outputStream);
Run Code Online (Sandbox Code Playgroud)
不要忘记关闭每个打开的流和OPCPackage.
| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |