当前位置: 首页 > 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.hengruixuexiao.com/news/54329.html

相关文章:

  • wordpress 大气模板合肥关键词优化平台
  • 惠州建设集团公司网站最新军事新闻 今日 最新消息
  • 网站公司开发dw网页设计模板网站
  • 现在手机网站用什么做百度推广客服电话人工服务
  • 施工企业最基本的安全管理制度深圳网站seo推广
  • wordpress怎么写phpseo排名软件
  • 桐乡网站制作seo优化是指
  • 学校网站建设的验收单seo公司排名
  • 常州个性化网站建设最近的电脑培训班在哪里
  • wordpress如何使用安装插件seo网站推广什么意思
  • 酒生产企业网站建设的目的seo双标题软件
  • wordpress权限设置管理浙江seo公司
  • 合肥好的app开发公司seo网络培训学校
  • 网站会员后台管理系统必应搜索引擎地址
  • 国内做涂装生产线网站2022年近期重大新闻事件
  • 网站个人备案步骤百度账号快速注册
  • 网站建设类型济源网络推广
  • 门户网站的特点aso优化吧
  • 做网站能自己找服务器吗关键词你们懂的
  • 服务器放多个网站标题优化
  • 天津力天装饰有限公司深圳网站设计专家乐云seo
  • 广州品牌网站设计公司新产品市场推广方案
  • 鹤壁专业做网站公司建网站哪个平台好
  • 网页传奇游戏怎么彻底卸载昆明seo博客
  • 网站到期续费吗网络营销案例分析ppt
  • 建设银行的官方网站积分商场乔拓云网站建设
  • 网站建设wangzhiiseo建站公司
  • 北京网站开发网站建设seo研究中心教程
  • 深圳建网站新闻源发稿平台
  • solaris.wordpress搜索引擎优化员简历