2017-11-21 14 views
0

저는 ZipOutputStream을 만들고 메모리에 파일을 추가하고 있습니다. 나중에이 파일을 가져 오거나 읽을 수 있기를 원합니다. 여러 순열과 조합을 시도했지만 완료하지 못했습니다. FileOutpuStream을 사용하고 실제 파일을 첨부하면 사용할 수 있지만 실제 파일을 만들 수는 없습니다.ZipOutputStream을 ZipInputStream으로 변환

현재 코드 : -

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
ZipOutputStream zos = new ZipOutputStream(bos); 
ZipEntry ze = new ZipEntry(“Temp.txt”); 
zos.putNextEntry(ze); 
FileInputStream fis = new FileInputStream("Test/File1.txt"); 
byte[] buffer = new byte[1024]; 
int len; 
while ((len = fis.read(buffer)) > 0) { 
    //System.out.println(new String(buffer)); 
    zos.write(buffer, 0, len); 
} 

답변

1

당신이 올바른 궤도에있어! 파일을 다시 읽으려면 다음을 사용하십시오.

byte[] zipBytes = bos.toByteArray(); 
ByteArrayInputStream bis = new ByteArrayInputStream(zipBytes); 
ZipInputStream zis = new ZipInputStream(bis);