Winzipなどの圧縮ソフトウェアを使用してファイルを圧縮して簡単に送信します。 Javaはまた、ファイルを圧縮して送信中のデータの量を減らすクラスを提供し、ファイルをzip、JAR、GZIPなどに簡単に圧縮できます。GZIPは、主にLinuxシステムの下で圧縮ファイルです。
以下は主にzip形式の圧縮ファイルについて説明し、JARとGZIP形式の圧縮ファイルも同様に使用されます。
zipは圧縮の非常に一般的な形式です。 Javaでは、zip圧縮を実装するために、java.util.zipパッケージのクラスの主な使用です。主にZipfile、ZipoutputStream、ZipinputStream、Zipentryが含まれます。 zipoutputStreamはファイルを圧縮するために使用され、zipinputStreamとzipfileはファイルを解凍するために使用され、zipentryは圧縮と減圧中に使用されます。 Java zip圧縮ファイルでは、各サブファイルはzipentryオブジェクトです。
圧縮ファイル:
java.io.fileをインポート; java.io.fileinputStreamをインポート;インポートjava.io.fileoutputStream; Import java.io.ioexception; Import java.io.inputStream; Import java.nio.Charset.Charset; Import Java.util.zip.zipotStrerm; Import Java.util.util.util.util.util.util.util.util.zipoutStrerm; zipoutputStreamTest {public static void main(string args [])throws ioexception {test1(); test2(); } public static void test1()throws ioException {zipoutputStream zos = new zipoutputStream(new fileoutputStream( "d://testzip.zip")、charset.forname( "gbk")); // ab.txt zipentry entry = new zipentry( "ab.txt")という名前のzipentryオブジェクトをインスタンス化します。 //コメントzos.setcomment( "zip test for single file"); //生成されたzipentryオブジェクトを圧縮ファイルに追加すると、圧縮ファイルに書き込まれたコンテンツがこのzipentryオブジェクトzos.putnextententry(entry)に配置されます。 inputstream is = new fileinputStream( "d://ab.txt"); int len = 0; while((len = is.read())!= -1)zos.write(len); is.close(); zos.close(); } public static void test2()throws ioexception {file file = new file( "d:// test"); zipoutputStream zos = new zipoutputStream(new fileoutputStrem( "d://test.zip")、charset.forname( "gbk")); zos.setcomment( "マルチファイル処理"); zipfile(infile、zos、 ""); zos.close(); } public static void zipfile(file file、zipoutputstream zos、string dir)throws ioexception {if(file.isdirectory()){file [] files = file.listfiles(); for(file file:files)zipfile(file、zos、dir + "//" + file.getname()); } else {string entryname = null; if(! ""。equals(dir))entryName = dir + "//" + file.getName(); else entryName = file.getName(); zipentry entry = new Zipentry(entryName); zos.putnextentry(entry); inputStream is = new fileInputStream(infile); int len = 0; while((len = is.read())!= -1)zos.write(len); is.close(); }}}ファイルを解凍します:
Import 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.charset; Import java.util.zip.zipentry; Java.util.zip.zipfile; Import Java.util.zip.zipinputStream; public class zipinputStreamtest {public static void main(string args [])throws {file = new file( "d://test.zip");各zip圧縮ファイルはzipfileとして表現できます// zip圧縮ファイルのzipinputStreamオブジェクトをインスタンス化することができます。このクラスのgetNextententry()メソッドを使用して、各zipinputStream zipinputStream = new zipinputStream(new fileInputStream(file)、charset.forname( "gbk" "); zipentry zipentry = null; while((zipentry = zipinputStream.getNextEntry()!= null){string filename = zipentry.getName(); file temp = new file( "d:// unpacktest //" + filename); if(!temp.getParentFile()。exists())temp.getParentFile()。mkdirs(); outputStream os = new fileoutputStream(temp); // zipfileのgetInputStreamメソッドを介して特定のzipentry入力ストリームを取得しますinputstream is = zipfile.getinputStream(zipentry); int len = 0; while((len = is.read())!= -1)os.write(len); os.close(); is.close(); } zipinputStream.close(); }}上記は、Java圧縮ファイルと減圧ファイルに関する情報の編集です。今後も関連情報を追加し続けます。このウェブサイトへのご支援ありがとうございます!