项目报错:cn.hutool.poi.exceptions.POIException: IOException: Stream Closed
使用IO流的时候报错 代码和报错信息如下:
public static void main(String[] args) {
String path = "C:\\Users\\hjs31\\Desktop\\test.xlsx";
imported(new File(path));
}
public static void imported(File file){
try {
FileInputStream is = new FileInputStream(file);
ExcelReader excelReader = ExcelUtil.getReader(is ,0);
List<List<Object>> lists = excelReader.read(2, excelReader.getRowCount());
for (List<Object> obj : lists) {
System.out.println(obj+"");
}
ExcelReader excelReaders = ExcelUtil.getReader(is ,1);
List<List<Object>> lists1 = excelReaders.read(2, excelReaders.getRowCount());
for (List<Object> sheets : lists1) {
String ckdbm = (String) sheets.get(0);
}
}catch (Exception e){
e.printStackTrace();
}
}
异常信息:
[A1, A2, A3, A4, A5, A6, A7, A8]
[A1, A2, A3, A4, A5, A6, A7, A8]
[A1, A2, A3, A4, A5, A6, A7, A8]
[A1, A2, A3, A4, A5, A6, A7, A8]
cn.hutool.poi.exceptions.POIException: IOException: Stream Closed
与目标VM断开连接, 地址为: ''127.0.0.1:65357',传输: '套接字'', 传输: '{1}'
at cn.hutool.poi.excel.WorkbookUtil.createBook(WorkbookUtil.java:115)
at cn.hutool.poi.excel.WorkbookUtil.createBook(WorkbookUtil.java:99)
at cn.hutool.poi.excel.ExcelReader.<init>(ExcelReader.java:85)
at cn.hutool.poi.excel.ExcelUtil.getReader(ExcelUtil.java:291)
at com.folder.monitoring.action.Test.imported(Test.java:30)
at com.folder.monitoring.action.Test.main(Test.java:19)
Caused by: java.io.IOException: Stream Closed
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at org.apache.poi.util.BoundedInputStream.read(BoundedInputStream.java:121)
at org.apache.poi.util.IOUtils.copy(IOUtils.java:453)
at org.apache.poi.util.IOUtils.copy(IOUtils.java:432)
at org.apache.poi.util.IOUtils.peekFirstNBytes(IOUtils.java:107)
at org.apache.poi.poifs.filesystem.FileMagic.valueOf(FileMagic.java:206)
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:248)
at cn.hutool.poi.excel.WorkbookUtil.createBook(WorkbookUtil.java:113)
... 5 more
声明了一次IO流读取了两次,将代码修改为:
public static void main(String[] args) {
String path = "C:\\Users\\hjs31\\Desktop\\test.xlsx";
imported(new File(path));
}
public static void imported(File file){
try {
FileInputStream is = new FileInputStream(file);
ExcelReader excelReader = ExcelUtil.getReader(is ,0);
List<List<Object>> lists = excelReader.read(2, excelReader.getRowCount());
for (List<Object> obj : lists) {
System.out.println(obj+"");
}
FileInputStream is2 = new FileInputStream(file); / 修改加的代码
ExcelReader excelReaders = ExcelUtil.getReader(is2 ,1); / 修改加的代码
List<List<Object>> lists1 = excelReaders.read(2, excelReaders.getRowCount());
for (List<Object> sheets : lists1) {
String ckdbm = (String) sheets.get(0);
}
}catch (Exception e){
e.printStackTrace();
}
}