우리는 종종 Winzip과 같은 압축 소프트웨어를 사용하여 파일을 쉽게 전송하기 위해 압축합니다. Java는 또한 파일을 압축하여 전송 중 데이터 양을 줄이는 클래스를 제공하며 파일은 Zip, Jar, GZIP 등으로 쉽게 압축 할 수 있습니다. GZIP는 주로 Linux 시스템에서 압축 파일입니다.
다음은 주로 압축 파일에 대한 zip 양식에 대한 이야기를하고 Jar 및 GZIP 양식의 압축 파일도 비슷하게 사용됩니다.
지퍼는 매우 일반적인 형태의 압축입니다. Java에서는 zip 압축을 구현하기 위해 java.util.zip 패키지의 클래스의 주요 사용입니다. 주로 ZipFile, ZipoutputStream, ZipinputStream 및 Zipentry가 포함됩니다. ZipOutputStream은 파일을 압축하는 데 사용되며, ZipinputStream 및 ZipFile은 파일을 압축하는 데 사용되며 압축 및 압축 압축 중에 Zipentry가 사용됩니다. Java Zip 압축 파일에서 각 하위 파일은 Zipentry 객체입니다.
압축 파일 :
import java.io.file; import java.io.fileinputStream; import java.io.fileoutputStream; import java.io.ioexception; import java.io.inputstream; import java.nio.charset.charset; import java.util.zip.zip.zipentry; import java.utiltepputstam.zipoutputstam.zip. {public static void main (String args [])는 ioexception {test1 (); test2 (); } public static void test1 ()는 ioexception {zizoutputstream zos = new ZipoutputStream (새 파일 OutputStream ( "d : //testzip.zip"), charset.forname ( "gbk")); // ab.txt zipentry entry = new Zipentry ( "ab.txt")라는 zipentry 객체를 인스턴스화합니다. // 주석을 설정 zos.setcomment ( "단일 파일의 zip 테스트"); // 생성 된 Zipentry 객체를 압축 파일에 추가 한 다음 압축 된 파일에 작성된 내용 이이 Zipentry 객체 ZOS.PUTNEXTENTRY (ENTERT)에 배치됩니다. inputStream은 = 새 fileInputStream ( "d : //ab.txt"); int len = 0; while ((len = is.read ())! = -1) zos.write (len); is.close (); Zos.close (); } public static void test2 ()는 ioexception {file infile = 새 파일 ( "d : // test"); ZipOutputStream ZOS = new ZipOutputStream (new FileOutputStream ( "d : //test.zip"), charset.forname ( "gbk")); Zos.SetComment ( "멀티 파일 처리"); zipfile (infile, Zos, ""); Zos.close (); } public static void ZipFile (파일 infile, ZipoutputStream Zos, String dir) IoException {if (infile.isdirectory ()) {file [] files = infile.listfiles (); for (파일 파일 : 파일) zipfile (file, zos, dir + "//" + infile.getName ()); } else {String entryName = null; if (! "". equals (dir)) entyname = dir + "//" + infile.getName (); elsename = infile.getName (); Zipentry Entry = New Zipentry (EntryName); Zos.putNextEntry (Entry); inputStream은 = 새로운 fileInputStream (infile); int len = 0; while ((len = is.read ())! = -1) zos.write (len); is.close (); }}} 파일을 압축 해제 :
가져 오기 java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstream; import java.io.outputstream; import java.nio.charset.carset; import java.util.zip.zipentry; import; java.util.zip.zipfile; import java.util.zip.zipinputStream; public class ZipinputStreamTest {public static void main (String args [])는 ioexception {file file = new File = 새 파일 ( "d : //test.zip"); // compress Zipfile (Zipfile); 파일은 ZipFile로 표시 될 수 있습니다. // Zip 압축 파일의 ZipinputStream 객체를 인스턴스화하면이 클래스의 getNextEntry () 메소드를 사용하여 각 ZipInputStream ZipinputStream = new ZipinputStream (File), charset.forname ( "gbk")을 얻을 수 있습니다. zipentry zipentry = null; while ((zipentry = zipinputStream.getNextEntry ())! = null) {String filename = zipentry.getName (); file temp = 새 파일 ( "d : // unpacktest //" + filename); if (! temp.getParentFile (). outputStream os = 새 FileOutputStream (temp); // ZipFile의 getInputStream 메소드를 통해 특정 zipentry 입력 스트림을 가져옵니다. inputStream은 = zipfile.getInputStream (zipentry); int len = 0; while ((len = is.read ())! = -1) os.write (len); os.close (); is.close (); } ZipInputStream.close (); }}위는 Java 압축 및 감압 파일에 대한 정보를 편집 한 것입니다. 우리는 향후 관련 정보를 계속 추가 할 것입니다. 이 웹 사이트를 지원 해주셔서 감사합니다!