아래 코드는 일반 텍스트 파일을 압축하는 데 사용됩니다. WinRaR을 사용하여 내용을 올바르게 표시했지만 Windows Explorer에서 비어있는 상태로 열면 파일이 나열되지 않습니다. Windows 7 Enterprise (64 비트) 운영 체제를 사용하고 있습니다. Windows 탐색기에 나열되지 않은 이유는 무엇입니까? 미리 감사드립니다.Windows 탐색기로 열면 Java를 사용하여 만든 ZIP 파일이 비어 있음
File file = new File("F:\\sample.txt");
byte[] buf = new byte[1024];
String outFilename = "F:\\zipped_sample.zip";
try {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
FileInputStream in = new FileInputStream(file);
out.putNextEntry(new ZipEntry(file.toString()));
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
out.flush();
}
out.closeEntry();
out.close();
in.close();
} catch (Exception e) {
// log exception here
}
이 코드는 그대로 작동해야합니다. Windows 탐색기에 zip에 "F :"항목과 "sample.txt"항목이 있음이 표시되어야합니다 . 이 코드가 컴퓨터에서 정상적으로 완료되는지 확인하기 위해 예외를 올바르게 catch에 기록하십시오. –
finally 블록에서 close()해야합니다. 또한 Java 7 인 경우 새로운 zip 파일 시스템을 사용하면 작업을 훨씬 쉽게 할 수 있습니다. – fge
@OlegEstekhin 코드가 정상적으로 완료되었으므로 오류/예외가 표시되지 않습니다. 그러나 마우스 오른쪽 버튼으로 클릭 -> 모두 추출, 오류 "Windows 추출을 완료 할 수 없습니다. 압축 된 (압축 된) 폴더가 잘못되었습니다."오류가 표시됩니다. 왜 Windows 탐색기에서만 실패하는지 알지 못합니다. – Sridhar