当前位置: 首页 > news >正文

常州网站制作多少钱网店代运营和推广销售

常州网站制作多少钱,网店代运营和推广销售,专门做外国的网站有哪些,商洛做网站的公司前言 Java中的InputSteam 是程序从其中读取数据, OutputSteam是程序可以往里面写入数据。 如果我们有在项目中读取数据库的记录, 在转存成Excel文件, 再把文件转存到OSS中。 生成Excel使用的是阿里的EasyExcel 。 他支持Output的方式写出文件内容。 而…

前言

Java中的InputSteam 是程序从其中读取数据, OutputSteam是程序可以往里面写入数据。
如果我们有在项目中读取数据库的记录, 在转存成Excel文件, 再把文件转存到OSS中。

生成Excel使用的是阿里的EasyExcel 。 他支持Output的方式写出文件内容。 而我使用的OSS的Client却只支持InputSteam的方式传入内容。

这就需要我把excel的数据流从InputStream传输到OutputStream中了。 这就要用到JAVA中的管道流功能了。

用法

下面是用法示例:

	//需要注意顺序, PipedOutputStream是管道的输入端, 需要先关闭, 这样输出端就知道管道结束了,才能正常结束try (PipedOutputStream pipedOutputStream = new PipedOutputStream();PipedInputStream pipedInputStream = new PipedInputStream(pipedOutputStream)) {  ThreadUtil.execute(()->{//从数据库中读取内容, 忽略写法 List<Object>  data = ......//写入数据到output中,pipedOutputStream.write(JSON.toJSONBytes(data));//一定要调用这个方法, 不然input端不知道啥时候管道结束,就会一直堵塞等待pipedOutputStream.close();});//从input中读取数据上传到OSS中ossClient.putObject(path, pipedInputStream)} catch (Exception e) {throw new BusinessRuntimeException("接入日志文件下载异常", e);}
  1. 注意管道的关闭顺序, 需要先关闭输入端,这样读取端才能结束阻塞。
  2. 两个流需要在两个线程中,如果在一个线程中,如果先写入数据,不写入结束就不会往下继续执行, 这就失去了管道流的意义。

总结

管道流正确的用法,是用于线程之间互相通信的, 上面的例子是由于EasyExcel的API设计不太合理的, EasyExcel使用不灵活, 所以没办法才使用管道流来把EasyExcel与OSSClient关联起来。

http://www.yidumall.com/news/66099.html

相关文章:

  • 专业提供网站建设服务包括网站怎么做外链
  • 看希岛爱理做品的网站线下推广渠道有哪些方式
  • 快递网站策划怎么做ppt百度做免费推广的步骤
  • vs做网站怎么做窗体武汉推广系统
  • 刚做的网站上线后收不到了泉州全网推广
  • 遵义专业网站建设公司电话网络推广的手段
  • 好的网站设计特点百度商家入驻
  • 阜阳建设网站百度经验登录入口
  • 做网站全是别人的链接上海百度公司地址在哪里
  • app网站建设济宁海曙seo关键词优化方案
  • extjs做的网站windows清理优化大师
  • 中国咨询公司排名前十名seo诊断报告怎么写
  • 网站建设中跳转页面源码软文100字左右案例
  • app制作软件企业南京seo圈子
  • 无锡哪家网站做的好媒体吧软文平台
  • 中山做展示型网站怎样看网页的友情链接
  • 网站空间独立控制面板网络营销推广专员
  • 兰州最好的网站开发公司宁波网站推广方式怎么样
  • 网站建设公司公司友情链接多久有效果
  • 工信部备案查询网官网站长seo综合查询
  • 毕业设计选择做网站的意义中国十大网络营销平台
  • 给文字做网站链接大同优化推广
  • 绵阳汽车网站制作十大洗脑广告
  • 我想建网站目前最新推广平台
  • 企业网站建设应该网络推广及销售
  • 旅游网站做模板素材郑州seo技术顾问
  • 做网站多怎么做网站排名
  • 企业年报信息公示流程武汉网络seo公司
  • 电商网站建设公司如何做好线上推广和引流
  • 做网站需要源码广西seo关键词怎么优化