joe 发表于 2022-5-11 11:01:33

java POI写xls文件时诡异的现象

POI操作数据之后用file作参数写入xls文件时,发现在IDEA中用DEBUG方式程序执行正常,但生成jar文件之后双击启动执行则失败,但用command命令行方式启动程序又执行成功,非常诡异,代码如下:file = new File("xxx.xls");
//POI的相关操作
workbook.write(file);
workbook.close();
我通过用try catch,发现是IOExceptionMap faile。从经验感觉不会是逻辑代码问题,应该是进入到底层硬件相关的操作时出现了IOException,难道需要用一个带缓冲的IO操作?所以我将代码改为用outputstream,实验成功,代码如下:
file = new File("xxx.xls");
outputStream = new FileOutputStream(file);
//POI的相关操作
workbook.write(outputStream);
workbook.close();
outputStream.close();





joe 发表于 2022-5-11 11:05:57

从上面的处理方式可以知道,一般来说涉及到IO操作时,能用带缓冲的处理方式就用带缓冲的处理方式,这样能增加系统的稳定性和可靠性。
页: [1]
查看完整版本: java POI写xls文件时诡异的现象