PeopleCode 处理压缩文件
这样就给客户的操作带来的很多不便,这篇文章来说明一下如何在PeopleCode中调用Java类来实现对文件的打包
&zip.close();
这样就是实现了对文件的打包,不过为了代码重用,我们可以将这段代码写成一个Function
- Function AddFileToZip(&zipInternalPath, &fileNameToZip, &zip)
- Local JavaObject &file = CreateJavaObject("java.io.File", &fileNameToZip);
- REM ** We will read &fileNameToZip into a buffer and write it out to &zip;
- Local JavaObject &buf = CreateJavaArray("byte[]", 1024);
- Local number &byteCount;
- Local JavaObject &in = CreateJavaObject("java.io.FileInputStream", &fileNameToZip);
- Local JavaObject &zipEntry = CreateJavaObject("java.util.zip.ZipEntry", &zipInternalPath | "/" | &file.getName());
- REM ** Make sure zip entry retains original modified date;
- &zipEntry.setTime(&file.lastModified());
- &zip.putNextEntry(&zipEntry);
- &byteCount = &in.read(&buf);
- While &byteCount > 0
- &zip.write(&buf, 0, &byteCount);
- &byteCount = &in.read(&buf);
- End-While;
- &in.close();
- End-Function;
然后每次使用的时候,只需要调用这个Function就可以了。
- Local JavaObject &zip = CreateJavaObject("java.util.zip.ZipOutputStream", CreateJavaObject("java.io.FileOutputStream", "c:\temp\compressed.zip", True));
- AddFileToZip("folder1", "c:\temp\file1.txt", &zip);
- AddFileToZip("folder1", "c:\temp\file2.txt", &zip);
- AddFileToZip("folder2", "c:\temp\file1.txt", &zip);
- AddFileToZip("folder2", "c:\temp\file2.txt", &zip);
- &zip.flush();
- &zip.close();
PeopleCode 处理压缩文件的更多相关文章
- 【VC++技术杂谈008】使用zlib解压zip压缩文件
最近因为项目的需要,要对zip压缩文件进行批量解压.在网上查阅了相关的资料后,最终使用zlib开源库实现了该功能.本文将对zlib开源库进行简单介绍,并给出一个使用zlib开源库对zip压缩文件进行解 ...
- C#基础-压缩文件及故障排除
C#压缩文件可以使用第三方dll库:ICSharpCode.SharpZipLib.dll: 以下代码能实现文件夹与多个文件的同时压缩.(例:把三个文件夹和五个文件一起压缩成一个zip) 直接上代码, ...
- 破解压缩文件密码rarcrack
破解压缩文件密码rarcrack 常见的压缩文件格式有ZIP.RAR和7z.这三种格式都支持使用密码进行加密压缩.前面讲过破解ZIP压缩文件,可以使用fcrackzip.对于RAR和7z格式,可以 ...
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文: ...
- java ZipOutputStream压缩文件,ZipInputStream解压缩
java中实现zip的压缩与解压缩.java自带的 能实现的功能比较有限. 本程序功能:实现简单的压缩和解压缩,压缩文件夹下的所有文件(文件过滤的话需要对File进一步细节处理). 对中文的支持需要使 ...
- C# 压缩文件与字节互转
public class ZipBin { public byte[] bytes; //C#读取压缩文件(将压缩文件转换为二进制 public void GetZipToByte(string in ...
- Linux如何复制,打包,压缩文件
(1)复制文件 cp -r 要copy的文件/("/"指的是包括里面的内容) newfile_name(要命名的文件名) eg:cp -r webapps_zero/ f ...
- java生成压缩文件
在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载.所以自己写了一个压缩文件的工具类.该工具类支持单个文件和文件夹压缩.放代码: import java.io.BufferedOutput ...
- 7z压缩文件时排除指定的文件
分享一个7z压缩文件时排除指定文件类型的命令行,感觉很有用: 7z a -t7z d:\updateCRM.7z d:\updateCRM\*.* -r -x!*.log -x!*bak a:创建压缩 ...
随机推荐
- [ActionScript 3.0] Away3D 灯光的使用
package { import away3d.containers.View3D; import away3d.entities.Mesh; import away3d.events.MouseEv ...
- (转)Log4net 配置类库
原文地址:http://blog.csdn.net/pfe_nova/article/details/20072137 1.单文件日志 对于单文件的日志,封装代码如下: public enum Log ...
- Oracle 版本历史
1.数据库在项目开发里面,大多数都使用Oracle,什么8i,9i,10G,11g等,一直认为数据库版本的升级对于开发一个系统的开发人员来书,不是什么重要的事,我仅仅关注数据库的表结构以及存储过程或者 ...
- python 爬取百度云资源
pan1 1 import urllib.request 2 import re 3 import random 4 5 def get_source(key): 6 7 print('请稍等,爬取中 ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(8)-扩展UserDetailsService接口
一个能为DaoAuthenticationProvider提供存取认证库的的类,它必须要实现UserDetailsService接口: public UserDetails loadUserByUse ...
- Flex对象的Clone & Copy浅析
在flex中有时候会用到ObjectUtil.clone和ObjectUtil.copy方法.下面是官方API的注释. 克隆指定对象,并返回对该克隆的引用.该克隆使用本机序列化技术生成.这意味着在克隆 ...
- 【练习】ORACLE统计信息--直方图
①创建表tSQL> create table t as select * from dba_objects; Table created. --收集直方图 SQL> exec dbms_s ...
- yii中modules的命名规则
如上图,views下面的文件夹名全小写(否则会出现找不到相应视图的错误),Module文件名称第一个单词首字母大写. 总之,按照上面的格式就不会有错了~
- UVa11324 最大团 The Largest Clique-有向图强连通分量&DP
https://vjudge.net/problem/UVA-11324 给定一张有向图G,求一个节点数目最大的节点集,使得该集合中的任意两个节点u和v满足:要么u可以到达v,要么v可以到达u(u,v ...
- USACO Section 3.3 骑马修栅栏 Riding the Fences
题目背景 Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. 题目描述 John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个栅栏.你必须编一个 ...