栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Peoplecode如何实现打包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Peoplecode如何实现打包

 今天突然两个同事,说不知道如何进行代码打包,特别是生成比较复杂的文件夹下的。本着遇到问题需要记录的情况。我是想到两种方式进行打包,现在做个分享,顺便写个日志。

1. 本身PS没有提供可以打包的代码或者方法,只能通过工具类来处理。那么还是建议使用java的打包。

  Local string &strName = %FilePath | &sYear | "年" | &sMonth | "月项目明细表.zip";
   &fo = CreateJavaObject("java.io.FileOutputStream", &strName);
   &out = CreateJavaObject("org.apache.tools.zip.ZipOutputStream", &fo);
   &out.setEncoding("UTF-8");
   For &i = 1 To &arrFileNames.Len
      &f = CreateJavaObject("java.io.File", &arrFileNames [&i]);
      &z = CreateJavaObject("org.apache.tools.zip.ZipEntry", &arrFileNamesNo [&i]);
      &z.setUnixMode(755);
      &out.putNextEntry(&z);
      &in = CreateJavaObject("java.io.FileInputStream", &f);
      For &k = 1 To 10000000000
         &len = &in.read();
         If &len <> - 1 Then
            &out.write(&len);
         Else
            Break;
         End-If;
      End-For;
      &in.close();
   End-For;
   &out.close();

2.  PS提供的跨平台执行方法Exec()来实现。直接拼接Linux命令来实现。

具体案例:        

Exec("tar -cvf /tmp/123.tar /tmp/123 ", %Exec_Synchronous + %FilePath_Absolute);

3. 对于复杂的打包方式,我是建议先把文件生成到一个文件夹下,再进行打包或者直接写个java工具类进行打包(之前有写相应的java工具类可以实现两种打包方式,第一,保持原有路径。第二,直接生成到根目录下)

所有日志仅仅是日常记录,如有不正确的地方,请及时更正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号