사실, 지정한 파일 주소를 재귀적 방법에 따라 하나씩 압축하는 것에 지나지 않습니다.
out.putNextEntry(new ZipEntry(XXX)); 압축하려는 콘텐츠는 다음과 같습니다.
예: 폴더인 경우 out.putNextEntry(new ZipEntry (폴더 이름 + "/"));
폴더에 있는 콘텐츠인 경우: out.putNextEntry(new ZipEntry (폴더 이름 + "/" + 폴더 이름))사실, 위 프로그램에는 여전히 몇 가지 문제가 있어 귀하의 기대에 부응할 수 없습니다. 수정을 도와드리겠습니다.
for 루프는 다음과 같이 수정되어야 합니다:
for (int i = 0; i java는 파일을 zip으로 압축합니다
문자열 test1="test1";
문자열 test2="test2";
byte[] bytes1 = test1.getBytes("UTF-8");
byte[] bytes2 = test2.getBytes("UTF-8");
ZipEntry z1 = 새로운 ZipEntry("test1.txt");
zos.putNextEntry(z1);
zos.write(bytes1);
ZipEntry z2 = new ZipEntry("text2.txt");
zos.putNextEntry(z2);
zos.write(bytes2);
zos.closeEntry();
zos.close();
//스트림은 직접 얻을 수 있습니다
//기본 Java 패키지는 중국어(잘못된 문자)를 지원하지 않습니다
//zip 압축을 위해 apache의 ZipOutputStream 사용
이로 문제가 해결될 수 있나요?
위 내용은 JAVA로 작성된 파일 압축 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!