我正在尝试将xls表格导入数据库,因为当我上传文件时,上传的文件是ByteBuffer格式,我编写了一个读取为FileInputStream的逻辑。
现在我如何将此ByteBuffer转换为FileInputStream
这是我的代码
ByteBuffer fileBytes = (ByteBuffer) context.get("uploadedFile");
String encoding = System.getProperty("file.encoding");
String filename = Charset.forName(encoding).decode(fileBytes).toString();
filename = filename.replaceAll("\\r", "");
我尝试使用ByteArrayInputStream()进行Casting,但看起来它不起作用了!
答案 0 :(得分:3)
InputStream
而不是FileInputStream.
您并不关心输入的来源。使用以下代码:
ByteArrayInputStream bais = new ByteArrayInputStream(buffer.array(), buffer.position(), buffer.limit());
并将bais
传递给您现有的方法。