【求助】file字节流
在用java做数据导入的时候遇到个问题 希望大家来帮忙解决下 问题如下首先获取上传的文件(是excel文件)
UploadFileItem ufi = getUploadFile(request);
然后通过
InputStream in = ufi.getInputStream();获取InputStream
然后通过
POIFSFileSystem fs = new POIFSFileSystem(in);得到POIFSFileSystem
HSSFWorkbook wb = new HSSFWorkbook(fs)来解析execl文件
当执行到HSSFWorkbook wb = new HSSFWorkbook(fs)的时候就报错
如果把导入的excel文件里的内容复制到一个新建的excel文件里 就能正常执行 是不是原excel的字节流和新建的excel的字节流不一致的原因啊
后来我把导入的文件在程序里通过
File objFile=new File(path);
objFile.createNewFile();
FileOutputStream fos=new FileOutputStream(objFile);
byte[] buf=new byte[1024];
int j=0;
while((j=in.read(buf))!=-1){
fos.write(buf,0,j);
}
将导入的excel写到一个临时创建的excel文件里 在通过这个临时文件来解析 依然不行
求助解决办法
----------------解决方案--------------------------------------------------------
getUploadFile(request),你的这个方法获得文件流中是否是一个excel文件的信息,没有额外的信息?
还有就是你可以把报的异常栈信息发出来看看,仅仅这点代码看不出来,最大的可能是你从request中获得的流并不仅仅是一个excel文件,可能还有额外信息。
----------------解决方案--------------------------------------------------------