ZIP
日本語 | 締める |
英語 | zip |
ふりがな | ジップ |
フリガナ | じっぷ |
圧縮ファイル、もしくはその圧縮形式。
複数のファイルをまとめて圧縮する方法のひとつ。
Javaにおける「標準圧縮方式」。jarファイルはこの圧縮方法。またEclipse等は、ソースファイルがZIPファイルに圧縮された形で格納されていても、内部的に解凍して参照することができる。
恐らく世界で一番使われている圧縮形式。
ただし、日本では少し前までLHAが主流だった。拡張子が.lzhのファイルがLHA形式で圧縮されたファイルである。
また、UNIX系ではGZIPの人気が高い。拡張子が.tar.gzのファイルがGZIP形式で圧縮されたファイルである。
J2SEでは、ZipOutputStreamクラスでZIPファイルを作ることができ、ZipInputStreamクラスでZIPファイルを解凍することができる。
複数のファイルをまとめて圧縮する方法のひとつ。
Javaにおける「標準圧縮方式」。jarファイルはこの圧縮方法。またEclipse等は、ソースファイルがZIPファイルに圧縮された形で格納されていても、内部的に解凍して参照することができる。
恐らく世界で一番使われている圧縮形式。
ただし、日本では少し前までLHAが主流だった。拡張子が.lzhのファイルがLHA形式で圧縮されたファイルである。
また、UNIX系ではGZIPの人気が高い。拡張子が.tar.gzのファイルがGZIP形式で圧縮されたファイルである。
J2SEでは、ZipOutputStreamクラスでZIPファイルを作ることができ、ZipInputStreamクラスでZIPファイルを解凍することができる。
// Sample.java
import java.io.IOException;
import java.io.FileInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Sample
{
public static void main( String[] args )
{
// ZIPファイルの絶対パス。
String filePath = "D:/sample.zip";
// このファイルの中に「a.txt」と「b.txt」が入っているとします。
FileInputStream fileInputStream = null;
ZipInputStream zipInputStream = null;
try
{
// ストリームを開きます。
fileInputStream = new FileInputStream( filePath );
zipInputStream = new ZipInputStream( fileInputStream );
byte[] buf = new byte[1024];
int len;
// ZIPファイルの中に入っているファイルのファイル名を取り出します。
while( true )
{
// 中に入っているファイルの情報ひとつ取り出します。
ZipEntry zipEntry = zipInputStream.getNextEntry();
// 全部取得していたらnullが返されます。
if( zipEntry == null )
{
break;
}
// 入っているファイルのファイル名を出力します。
System.out.println( zipEntry.getName() );
}
// a.txt
// b.txt
}
catch( IOException e )
{
// ファイルが見つからないと例外が投げられます。
e.printStackTrace();
}
finally
{
// ストリームを閉じます。
try
{
zipInputStream.close();
}
catch( IOException e )
{
e.printStackTrace();
}
try
{
fileInputStream.close();
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
import java.io.IOException;
import java.io.FileInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Sample
{
public static void main( String[] args )
{
// ZIPファイルの絶対パス。
String filePath = "D:/sample.zip";
// このファイルの中に「a.txt」と「b.txt」が入っているとします。
FileInputStream fileInputStream = null;
ZipInputStream zipInputStream = null;
try
{
// ストリームを開きます。
fileInputStream = new FileInputStream( filePath );
zipInputStream = new ZipInputStream( fileInputStream );
byte[] buf = new byte[1024];
int len;
// ZIPファイルの中に入っているファイルのファイル名を取り出します。
while( true )
{
// 中に入っているファイルの情報ひとつ取り出します。
ZipEntry zipEntry = zipInputStream.getNextEntry();
// 全部取得していたらnullが返されます。
if( zipEntry == null )
{
break;
}
// 入っているファイルのファイル名を出力します。
System.out.println( zipEntry.getName() );
}
// a.txt
// b.txt
}
catch( IOException e )
{
// ファイルが見つからないと例外が投げられます。
e.printStackTrace();
}
finally
{
// ストリームを閉じます。
try
{
zipInputStream.close();
}
catch( IOException e )
{
e.printStackTrace();
}
try
{
fileInputStream.close();
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
}
// Sample.java import java.io.IOException; import java.io.FileInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class Sample { public static void main( String[] args ) { // ZIPファイルの絶対パス。 String filePath = "D:/sample.zip"; // このファイルの中に「a.txt」と「b.txt」が入っているとします。 FileInputStream fileInputStream = null; ZipInputStream zipInputStream = null; try { // ストリームを開きます。 fileInputStream = new FileInputStream( filePath ); zipInputStream = new ZipInputStream( fileInputStream ); byte[] buf = new byte[1024]; int len; // ZIPファイルの中に入っているファイルのファイル名を取り出します。 while( true ) { // 中に入っているファイルの情報ひとつ取り出します。 ZipEntry zipEntry = zipInputStream.getNextEntry(); // 全部取得していたらnullが返されます。 if( zipEntry == null ) { break; } // 入っているファイルのファイル名を出力します。 System.out.println( zipEntry.getName() ); } // a.txt // b.txt } catch( IOException e ) { // ファイルが見つからないと例外が投げられます。 e.printStackTrace(); } finally { // ストリームを閉じます。 try { zipInputStream.close(); } catch( IOException e ) { e.printStackTrace(); } try { fileInputStream.close(); } catch( IOException e ) { e.printStackTrace(); } } } }