我创建了一个代码将所有文件保存到一个 zip 文件中,但是当我的文件达到 2GB 时,代码给出错误:“执行脚本时出错:所需的数组长度太大。”我尝试解决这个问题,但没有成功。
这是脚本的一部分
private ZipOutputStream addZipEntry(ZipOutputStream zipOutput, File file, String path) {
if (file.isDirectory() && !path.endsWith('/')) {
path += "/"
}
logger.info("zipfile: added $path")
ZipEntry entry = new ZipEntry(path)
entry.time = file.lastModified()
zipOutput.putNextEntry(entry)
if (file.isFile()) {
def fileInputStream = new FileInputStream(file)
zipOutput << fileInputStream
fileInputStream.close()
}
return zipOutput
}
我需要解决这个问题
看起来 Groovy 由于某种原因选择了错误的
leftShift
方法。尝试通过显式定义变量类型来将其转向正确的方向
InputStream fileInputStream = new FileInputStream(file)