在Application Engine中使用PeopleCode的Zip文件

时间:2014-05-25 08:46:50

标签: peoplesoft peoplesoft-app-engine

我要求在父文件夹中压缩多个文件夹,并在App Engine输出中显示该文件。 Unix文件服务器中的文件夹结构 - 父文件夹 - Folder1(包含文件) - Folder2(包含文件)

如何使用AE中的PeopleCode压缩文件夹并将其存储在父文件夹中(最终文件夹结构如下所示 父文件夹 -Folder1 -Folder2 -ParentFolder.Zip。

注意:进程在Unix服务器上运行。

1 个答案:

答案 0 :(得分:0)

实际上我们正在调用java代码来压缩文件。

如:

    &buffer = CreateJavaArray("byte[]", 18024);
    &zipStream = CreateJavaObject("java.util.zip.ZipOutputStream", CreateJavaObject("java.io.FileOutputStream", &outDir | &outZip));
    For &i = 1 To &inFiles.Len
      &zipStream.putNextEntry(CreateJavaObject("java.util.zip.ZipEntry", &inFiles [&i]));
      &inStream = CreateJavaObject("java.io.FileInputStream", &outDir | &inFiles [&i]);
      &len = &inStream.read(&buffer);
      While &len > 0;
        &zipStream.write(&buffer, 0, &len);
        &len = &inStream.read(&buffer);
      End-While;
      &zipStream.closeEntry();
      &inStream.close();
    End-For;

   &zipStream.close();