2020-08-30 00:10发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我收到的zip文件包含1... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我收到的zip文件包含1个xml文件和1个pdf文件。
因此标准解码器Zip解压缩将无法正常工作,因为它包含多个文件
任何可用于处理此问题的Groovy/Java脚本
预先感谢
您好,
您可以使用Groovy脚本解压缩文件。 我过去曾经使用过以下脚本:
import com.sap.gateway.ip.core.customdev.util.Message 导入java.util.zip.ZipInputStream 导入java.util.zip.ZipEntry 消息processData(消息){ //将您的zip文件读取到字节数组 def pkgBytes = ... //获取ZIP清单 def zipEntries = extractZipEntries(pkgBytes) //根据条目执行所需操作 //例如。 将条目名称传递给readEntryFromZipAsString(...) 返回讯息 } 私人extractZipEntries(byte []内容)引发IOException { def条目= []; ZipInputStream zi = null; 尝试{ zi =新的ZipInputStream(新的ByteArrayInputStream(内容)); ZipEntry zipEntry = null; while(((zipEntry = zi.getNextEntry())!= null){ entry.add(zipEntry); } }最后{ 如果(zi!= null){ zi.close(); } } 返回条目; } 私人readEntryFromZipAsString(byte [] content,def fileName){ StringBuilder s =新的StringBuilder() 字节[]缓冲区=新字节[1024] 读取的int = 0 ZipInputStream zi = null 尝试{ zi =新的ZipInputStream(新的ByteArrayInputStream(内容)) ZipEntry zipEntry = null while(((zipEntry = zi.getNextEntry())!= null){ 如果(zipEntry.name == fileName){ 而((read = zi.read(buffer,0,1024))> = 0){ s.append(新字符串(缓冲区,0,读) } } } }最后{ 如果(zi!= null){ zi.close() } } 返回s.toString() }
最多设置5个标签!
您好,
您可以使用Groovy脚本解压缩文件。 我过去曾经使用过以下脚本:
一周热门 更多>