def zipFileNew(title: String, files: List[String]): String = {
var fileName = "fail"
try {
//生成文件
val exportFile = new File(s"$LocalFilePath/${title}_${formatTimStamp()}.zip")
if (!exportFile.getParentFile.exists())
exportFile.getParentFile.mkdirs
if (!exportFile.exists())
exportFile.createNewFile
//输出流
val os: OutputStream = new FileOutputStream(exportFile)
val zipOut: ZipOutputStream = new ZipOutputStream(os)
var input: FileInputStream = null
val buf: Array[Byte] = new Array[Byte](4096)
var len = 0
for (childFileName <- files) {
val file: File = new File(childFileName)
val fileSize:Int = file.length().toInt
val buf:Array[Byte] = //定义缓冲区
if(fileSize < 1024){
new Array[Byte](fileSize)
}else if (fileSize>= 1024 && fileSize< 4096){
new Array[Byte](1024)
}else if (fileSize>= 4096 && fileSize< 4096){
new Array[Byte](4096)
}else{
new Array[Byte](8192)
}
// val len:Int = file.length().toInt
if (file.exists()) {
val ze: ZipEntry = new ZipEntry(file.getName())
input = new FileInputStream(file)
zipOut.setEncoding("gbk")
zipOut.putNextEntry(ze)
val bis: BufferedInputStream = new BufferedInputStream(input)
while ((bis.read(buf)) >= 1) {
// len = bis.read(buf,0,len)
zipOut.write(buf, 0,buf.length)
//zipOut.write(buf)
}
input.close()
zipOut.closeEntry()
}
}
zipOut.close()
//关闭输出流
os.close()
if (exportFile.exists && exportFile.length() > 22)
fileName = exportFile.getName
else
fileName = "1111"
} catch {
case e: Exception => {
log.error(s"JdbcExport Error:${e}+++${e.getStackTrace}+++++${e.getStackTraceString}++++${e.printStackTrace()}")
}
}
fileName
}
var fileName = "fail"
try {
//生成文件
val exportFile = new File(s"$LocalFilePath/${title}_${formatTimStamp()}.zip")
if (!exportFile.getParentFile.exists())
exportFile.getParentFile.mkdirs
if (!exportFile.exists())
exportFile.createNewFile
//输出流
val os: OutputStream = new FileOutputStream(exportFile)
val zipOut: ZipOutputStream = new ZipOutputStream(os)
var input: FileInputStream = null
val buf: Array[Byte] = new Array[Byte](4096)
var len = 0
for (childFileName <- files) {
val file: File = new File(childFileName)
val fileSize:Int = file.length().toInt
val buf:Array[Byte] = //定义缓冲区
if(fileSize < 1024){
new Array[Byte](fileSize)
}else if (fileSize>= 1024 && fileSize< 4096){
new Array[Byte](1024)
}else if (fileSize>= 4096 && fileSize< 4096){
new Array[Byte](4096)
}else{
new Array[Byte](8192)
}
// val len:Int = file.length().toInt
if (file.exists()) {
val ze: ZipEntry = new ZipEntry(file.getName())
input = new FileInputStream(file)
zipOut.setEncoding("gbk")
zipOut.putNextEntry(ze)
val bis: BufferedInputStream = new BufferedInputStream(input)
while ((bis.read(buf)) >= 1) {
// len = bis.read(buf,0,len)
zipOut.write(buf, 0,buf.length)
//zipOut.write(buf)
}
input.close()
zipOut.closeEntry()
}
}
zipOut.close()
//关闭输出流
os.close()
if (exportFile.exists && exportFile.length() > 22)
fileName = exportFile.getName
else
fileName = "1111"
} catch {
case e: Exception => {
log.error(s"JdbcExport Error:${e}+++${e.getStackTrace}+++++${e.getStackTraceString}++++${e.printStackTrace()}")
}
}
fileName
}