|
|
|
|
@ -4,7 +4,6 @@ import java.io.File;
|
|
|
|
|
import java.io.FileInputStream;
|
|
|
|
|
import java.io.FileOutputStream;
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.io.OutputStream;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
@ -49,15 +48,19 @@ public class ZIP extends AbstractComponent {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param output 압축파일의 OutputStream
|
|
|
|
|
/**지정한 파일들을 지정한 경로의 zip 파일로 압축한다.
|
|
|
|
|
* @param zipPath zip 파일 경로
|
|
|
|
|
* @param inputs 압축할 파일의 InputStream 맵
|
|
|
|
|
* <ul><li>key - 압축할 파일이름</li>
|
|
|
|
|
* <li>value - 압축할 파일의 InputStream</li>
|
|
|
|
|
* </ul>
|
|
|
|
|
*/
|
|
|
|
|
public void compress(OutputStream output, Map<String, InputStream> inputs) {
|
|
|
|
|
try (ZipOutputStream zout = new ZipOutputStream(output);) {
|
|
|
|
|
public File compress(String zipPath, Map<String, InputStream> inputs) {
|
|
|
|
|
File zip = new File(zipPath);
|
|
|
|
|
try (
|
|
|
|
|
FileOutputStream fout = new FileOutputStream(zip);
|
|
|
|
|
ZipOutputStream zout = new ZipOutputStream(fout );
|
|
|
|
|
) {
|
|
|
|
|
inputs.forEach((filename, input) -> {
|
|
|
|
|
try {
|
|
|
|
|
compress(zout, filename, input);
|
|
|
|
|
@ -65,6 +68,7 @@ public class ZIP extends AbstractComponent {
|
|
|
|
|
throw runtimeException(e);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return zip;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw runtimeException(e);
|
|
|
|
|
}
|
|
|
|
|
|