feat: 외부연계데이타 응답처리 진행
parent
052eb970ab
commit
bebb6ec058
@ -0,0 +1,72 @@
|
||||
package kr.xit.framework.support.util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
import kr.xit.framework.support.exception.BizRuntimeException;
|
||||
import kr.xit.framework.support.util.constants.MessageKey;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class FileUtils {
|
||||
|
||||
/**
|
||||
* zip 파일 생성
|
||||
* @param filePath source file path
|
||||
* @param fileNameList source file name list
|
||||
* @param zipFilePath zip file folder
|
||||
* @param zipFileName zip file name
|
||||
*/
|
||||
public void compressZip(final String filePath, final List<String> fileNameList, final String zipFilePath, final String zipFileName) {
|
||||
List<File> fileList = new ArrayList<>();
|
||||
|
||||
fileNameList.forEach(s -> fileList.add(new File(filePath, s)));
|
||||
compressZip(fileList, zipFilePath, zipFileName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Zip 파일 생성
|
||||
* @param fileList zip file name list
|
||||
* @param zipFilePath zip file folder
|
||||
* @param zipFileName zip file name
|
||||
*/
|
||||
public void compressZip(final List<File> fileList, final String zipFilePath, final String zipFileName) {
|
||||
File zipFile = new File(zipFilePath, zipFileName);
|
||||
|
||||
byte[] buff = new byte[4096];
|
||||
// 압축파일 생성
|
||||
try(ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))){
|
||||
|
||||
// 파일 압축
|
||||
fileList.forEach(f -> {
|
||||
try(FileInputStream fis = new FileInputStream(f)){
|
||||
// 압축파일 지정
|
||||
ZipEntry ze = new ZipEntry(f.getName());
|
||||
zos.putNextEntry(ze);
|
||||
|
||||
// 압축 파일에 추가
|
||||
int len;
|
||||
while ((len = fis.read(buff)) > 0) zos.write(buff, 0, len);
|
||||
|
||||
zos.closeEntry();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
});
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("zip파일 생성 오류::{}", e.getLocalizedMessage());
|
||||
throw BizRuntimeException.create(MessageKey.CUSTOM_MSG, "zip 파일생성 오류[대상파일 미존재]");
|
||||
} catch (IOException e) {
|
||||
log.error("zip파일 생성 오류::{}", e.getLocalizedMessage());
|
||||
throw BizRuntimeException.create(MessageKey.CUSTOM_MSG, "zip 파일생성 오류[대상파일 미존재]");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue