InputStream与OutputStream的转化

      项目中有新需求,需要将对象数据保存成excel,并以文件流形式上传到FTP服务器。由于将excel格式的数据

输入到输出流拿到的是输出流,而ftp上传的方法需要获得输入流对象。这里就需要将输出流转化成输入流了。下面

是这两种流的转化方法。

//新建输出流
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            //将excel文件写入输出流
            wb.write(out);
            //新建输入流,注意,将输出流转化成byteArray形式,然后就能将输出流转化成输入流
            InputStream excelStream = new ByteArrayInputStream(out.toByteArray());
            //进行FTP上传
            GeneralFTPUtil.getInstance().storeFile(firmwareDirectory.toString(), fileName, excelStream);
            //拼接下载链接
            firmwareUrl = ftpClientConfigure.getFtpPreUrl()
                    + UploadFileDirectoryType.EXCEL.getDirectory() + fileName;
            out.close();
            wb.close();
            excelStream.close();

注意,输入和输出都要用byteArray格式,这样才能正确进行读写。

猜你喜欢

转载自blog.csdn.net/a1165117473/article/details/78620988