java.io.IOException:关闭XSSFWorkbook时jenkins中的权限被拒绝

时间:2017-04-26 07:41:35

标签: java jenkins file-io phantomjs apache-poi

我正在从不同的网站上删除数据,我正在使用apache poi在excel中读取和写入数据。

我在writeWorkbook.close()方法中面临权限被拒绝(writeWorkbook是XSSFWorkbook的对象)。

我在做什么1)从网站读取数据2)将其写入特定的Excel工作表3)关闭文件输出流4)关闭XSSFWorkbook对象。 在第四步我得到了许可被拒绝的错误。

整个场景从jenkins到jar文件运行。 Jenkins拥有所有文件和目录的权限。

所以我错了什么和哪里。

谢谢

1 个答案:

答案 0 :(得分:0)

您是如何在XSSFWorkbook中使用excel文件的?

完成对XSSFWorkbook的写入后,您只需关闭OPCPackage对象即可。您无需关闭该文件。

// XSSFWorkbook, File
  OPCPackage pkg = OPCPackage.open(new File("file.xlsx"));
  XSSFWorkbook wb = new XSSFWorkbook(pkg);
  ....
  pkg.close();

docs表示:

  

使用完工作簿后,应该通过调用POIXMLDocument.close()来关闭包,以避免文件句柄处于打开状态。