Du kanske inte inser det , men Java redan har alla verktyg den behöver för att hantera den gemensamma filen komprimering och paketering ZIP format inbyggd rätt i som standard . Om du behöver skriva ett program som kan hantera ZIP-filer , till exempel ett nytt WinZip mördare , har Java all utrustning du behöver för att komma igång . Saker du behöver
ZIP -fil
Visa fler instruktioner
1
Skapa ett Java -program . På den mest enkla , kan du göra detta genom att öppna en textredigerare , till exempel Anteckningar , och omedelbart spara det med namnet " ZipReader.java . " Men om du har en Java Integrated Development Environment som NetBeans eller Eclipse , kan du spara lite tid genom att klicka på " File " - " . Nytt projekt " >
2
Importera följande bibliotek från Java standard bibliotek som du behöver för att läsa zip-filer genom att klistra in följande längst upp i filen du just skapade i steg 1
import java.io.FileInputStream , .
import java . io.FileOutputStream ;
import java.util.zip.ZipEntry ,
import java.util.zip.ZipInputStream , Addera 3
Klistra in följande kod i programmet för att ge den dess grundläggande struktur :
public class ZipExample {
public void main ( String [] args ) {
try {
} catch ( Exception e ) {
System.out.println ( " ERROR " ) ;
}
}
}
p Alla resten av koden kommer att gå mellan " försöka " och " fånga " uttalanden , som är utformade för att hantera eventuella fel som kan uppstå .
4
Förbered några variabler att hålla data från zip -filen temporärt genom att klistra in följande kommandon i " try " block av den huvudsakliga metoden du skrev i steg 3 :
ZipEntry inresa,
int BUFFERT = 1024 ;
int count = 0 ;
byte [ ] uppgifter = new byte [ 1024 ] ;
ZipEntry kommer att hänvisa till varje fil i zip-arkivet i tur och ordning . Buffert är antalet byte som ska läsas från ZIP- fil i taget , och 1024 är ett ganska standard nummer , men det spelar ingen roll vad du väljer . Syftet är helt enkelt att säkerställa att hårddisken inte är överbelastade läsning enskilda byte en efter en. Slutligen räknar kommer att hålla koll på hur många bytes verkligen läses från ZIP -filen i varje pass ( eftersom det filstorleken är osannolikt att vara en multipel av 1024 . ) Detta är viktigt , eftersom du kommer att behöva för att veta hur mycket data skrivs till den nya filen i steg 6 . öppna zip-filen
5
. Detta är en process i två steg . Först måste du läsa zip -filen till en FileInputStream , och andra du måste omvandla detta till en ZipInputStream . Klistra in följande kod för att åstadkomma detta :
FileInputStream file_input = ny FileInputStream ( " arkiv.zip " ) ;
ZipInputStream Zin = ny ZipInputStream ( file_input ) ,
6
Gå igenom ZIP-fil , en post i taget och skriva att tillträde till hårddisken , med följande kod , klistras direkt efter den sista koden :
medan ( ( inträde = zin.getNextEntry ( ) ) = null ) {
FileOutputStream fut = ny FileOutputStream ! ( entry.getName ( ) ) ;
medan ( ( räkna = zin.read ( uppgifter , 0 , buffert ) ) = - 1 ) {
fout.write ( uppgifter , 0 , count ) ;
}
fout.flush ( ) ;
fout.close ( ) ;
}
7
stänga zip -filen genom att klistra in följande omedelbart efter den sista koden :
zin.close ( ) ;
Addera