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

网站规划与开发中国建设门户网登录入口

网站规划与开发,中国建设门户网登录入口,宝安沙井天气,谷歌网站推广好做吗文章目录 原始需求分析实施步骤引入依赖核心编码运行效果 原始需求 有网友提问#xff1a; 我想在程序中动态地向同一个jar包中添加文件#xff0c;比如#xff0c;我的可执行jar包是test.jar,我要在它运行时生成一些xml文件并将这些文件添加到test.jar中,请问如何实现 我想在程序中动态地向同一个jar包中添加文件比如我的可执行jar包是test.jar,我要在它运行时生成一些xml文件并将这些文件添加到test.jar中,请问如何实现 分析 test.jar在运行过程中是无法改变自身内容的但是可以创建内容与test.jar一致的test2.jar 问题就转换成了 如何复制已有的test.jar重命名为test2.jar如何继续向test2.jar添加新的文件 实施步骤 引入依赖 dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.12.0/version/dependencydependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.5/version/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-compress/artifactIdversion1.23.0/version/dependency核心编码 借助 commons-compress 来操作Jar public void test()throws IOException{String src getClass().getResource(/apache-jstl.jar).getPath();String add1 getClass().getResource(/servlet-api.jar).getPath();String add2 getClass().getResource(/log4j2.xml).getPath();String newJar src.replace(.jar, DateFormatUtils.format(System.currentTimeMillis(), _HHmmssSSS) .jar);log.info(源文件: {}, src);log.info(新增: {}, add1);log.info(新增: {}, add2);log.info(新文件: {}, newJar);try (ArchiveOutputStream outputStream new JarArchiveOutputStream(new FileOutputStream(newJar));JarArchiveInputStream jarInput new JarArchiveInputStream(new FileInputStream(src))){JarArchiveEntry jarEntry;while ((jarEntry jarInput.getNextJarEntry()) ! null){if (!jarEntry.isDirectory()){outputStream.putArchiveEntry(jarEntry);IOUtils.copy(jarInput, outputStream);}}outputStream.flush();// 追加addFilesFile[] addFiles {new File(add1), new File(add2)};for (File addFile : addFiles){JarArchiveEntry addEntry new JarArchiveEntry(add/ addFile.getName());outputStream.putArchiveEntry(addEntry);try (InputStream entryInputStream new FileInputStream(addFile)){IOUtils.copy(entryInputStream, outputStream);}}// 追加add/001.txtJarArchiveEntry entry new JarArchiveEntry(add/001.txt);outputStream.putArchiveEntry(entry);outputStream.write(org.apache.commons.compress.archivers.jar.JarArchiveOutputStream;.getBytes(StandardCharsets.UTF_8));outputStream.closeArchiveEntry();outputStream.finish();}}使用JDK API实现 public void test2(){try{String src getClass().getResource(/apache-jstl.jar).getPath();String add1 getClass().getResource(/servlet-api.jar).getPath();String add2 getClass().getResource(/log4j2.xml).getPath();String newJar src.replace(.jar, DateFormatUtils.format(System.currentTimeMillis(), _HHmmssSSS) .jar);log.info(源文件: {}, src);log.info(新增: {}, add1);log.info(新增: {}, add2);log.info(新文件: {}, newJar);addFilesToJar(new File(src), newJar, new File(add1), new File(add2));}catch (IOException e){log.error(e.getMessage(), e);}}/*** JDK-API实现-将addFiles添加到srcJar并重命名为newJar* * param srcJar* param newJar* param addFiles* throws IOException*/private void addFilesToJar(File srcJar, String newJar, File... addFiles)throws IOException{try (JarOutputStream jarOutputStream new JarOutputStream(new FileOutputStream(newJar)); JarFile jarFile new JarFile(srcJar)){// 遍历jar文件数据写入新jarEnumerationJarEntry entrys jarFile.entries();while (entrys.hasMoreElements()){JarEntry jarEntry entrys.nextElement();if (!jarEntry.isDirectory()){jarOutputStream.putNextEntry(jarEntry);try (InputStream entryInputStream jarFile.getInputStream(jarEntry)){IOUtils.copy(entryInputStream, jarOutputStream);}}}// 追加写入for (File addFile : addFiles){JarEntry jarEntry new JarEntry(add/ addFile.getName());jarOutputStream.putNextEntry(jarEntry);try (InputStream entryInputStream new FileInputStream(addFile)){IOUtils.copy(entryInputStream, jarOutputStream);}}}}运行效果 原始文件 运行后 大功告成 有任何问题和建议都可以向我提问讨论,大家一起进步谢谢! -over-
http://www.w-s-a.com/news/332083/

相关文章:

  • 辽宁响应式网站建设价格企业所得税率
  • 网站编辑及seo招聘上海做网站公司做网站的公司
  • 杭州四喜做网站建设么ja.wordpress.org
  • 旅游网站策划书企业公司名字大全
  • 营销型网站的标准郑州新密网站建设
  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司
  • 公司做哪个网站比较好巴顿品牌设计官网
  • 济宁北湖建设局网站我要推广
  • mc网站的建设大型网站开发
  • 给网站做推广一般花多少钱全国最大的外发加工网
  • linux 网站301江西seo推广方案
  • c2c电子商务网站定制开发wordpress html单页
  • 查询网站空间商自己做的网站如何放到微信
  • 现在网站开发哪个语言好月嫂公司网站建设构思
  • 腾讯云免费网站建设网站设计一级网页
  • 网站备案系统验证码出错的解决方案wordpress+论坛+注册
  • 代做毕设的网站先做网站先备案
  • 网站定制哪个好wordpress主题dux1.9
  • 怎么自己做网站地图网站建设弹窗代码
  • wordpress 作品集网站企业做网站建设的好处
  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14
  • 英德建设局网站龙岩网上房地产网
  • wordpress vr网站电影网页设计尺寸
  • 做淘宝客新增网站推广怎样开一家公司
  • 企业网站有必要做吗?网站平均停留时间