java处理excel,word经常出现类似于: IOException:Unable to read entire block; 362 bytes read; expected 512 bytes
很搞笑。既然expected 512 bytes ,那我就写够512bytes囖。
ByteArrayOutputStream byteOS = new ByteArrayOutputStream();
FileInputStream fis = new FileInputStream(fileToBeRead);
byte[] by = new byte[512];
int t = fis.read(by,0,by.length);
while(t>0){ byteOS.write(by, 0, 512); //这里别写成t,写够512,呵呵,SB的方法对付SB的java API
t = fis.read(by,0,by.length);
}
byteOS.close();
InputStream byteIS = new ByteArrayInputStream(byteOS.toByteArray());
HSSFWorkbook workbook = new HSSFWorkbook(byteIS);