在做poi相关练习时,我的实现目标是,需要将excel中主键列检索出来,之后使用主键列去做检索,获取某一字段的值,之后将检索到的值在追加到之前的excel中,操作过程中结果出现了一个问题。报的错误是java.io.EOFException: Unexpected end of ZLIB input stream。
原因是我在获取文件时使用的是
File file = new File("/Users/sy.w/Documents/文档/excel_test.xlsx");
这样获取的文件对象,在将数据导入时就会报上面的错误,原因是使用File对象每次都会将之前的文件覆盖。这样就会报错。
解决方法就是
File file = new File("/Users/Documents/文档/excel_test.xlsx");
换成
FileInputStream file = new FileInputStream("/Users/Documents/文档/excel_test.xlsx");
这样的话每次写入数据时,都是在原来的文件中追加数据。而不是覆盖原来的文件。