Site icon Dator8 Skåp

hur man läser zip -filer med java

Du kanske inte inser det, men Java redan har alla verktyg den behöver för att hantera den gemensamma filkomprimering och förpackning ZIP -format inbyggt i som standard . Om du behöver skriva ett program som kan hantera zip-filer , till exempel en ny WinZip mördare , har Java all utrustning du behöver för att börja

Du behöver : .
ZIP -fil

1 .
Skapa ett Java -program . På den mest enkla , kan du göra detta genom att öppna en textredigerare, t. ex. 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å ” Fil ”–>” 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 ,
3
Klistra in följande kod i programmet för att ge det dess grundläggande struktur :

. public class ZipExample {

public static void main ( String [ ] args ) {

try {

} catch ( Exception e) {

System. out. println (”Fel ” ) ;

}

}

}

Alla resten av koden kommer att gå mellan ” försök ” 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 tillfälligt genom att klistra in följande kommandon i ” prova ” block av de främsta metod du skrev i steg 3 :

ZipEntry inresa ,

int buffer=1024 ;

int count=0 ;

byte [ ] data=new byte [ 1024 ] ;

ZipEntry kommer att hänvisa till varje fil i ZIP-arkiv i tur och ordning . Buffer är antalet byte som ska läsas från zip-filen på en gång, och 1. 024 är ganska vanligt nummer , men det spelar ingen roll vad du väljer . Syftet är helt enkelt att försäkra att hårddisken inte är överarbetad avläsa enstaka byte en efter en . Slutligen är att räkna kommer att hålla koll på hur många byte faktiskt läses från ZIP -fil i varje pass (eftersom det filstorleken är osannolikt att en multipel av 1024 . ) Detta är viktigt , eftersom du kommer att behöva veta hur mycket data skrivs till den nya filen i steg 6.
5 .
Öppna zip-filen . Detta är en process i två steg . Först måste du läsa zip -filen i en FileInputStream , och andra måste du konvertera det till en ZipInputStream . Klistra in följande kod för att åstadkomma detta :

FileInputStream file_input=new FileInputStream ( ” Archive. zip ” ) ;

ZipInputStream Zin=new ZipInputStream . ( file_input ) ;
6
Gå igenom ZIP-fil , klistras en post i taget och skriva som inträde till hårddisken , med följande kod , omedelbart efter den sista koden :

medan ( ( entry=zin. getNextEntry ( ) ) !=null ) {

FileOutputStream fut=new FileOutputStream ( entry. getName ( ) ) ;

medan ( ( count=Zin . ! läsa ( data , 0 , buffert) )=-1 ) {

fout. write ( data , 0 , räkna ) ,

}

fout. flush () ;

fout. close () ;

}
<. br > 7
Stäng zip-filen genom att klistra in följande direkt efter den sista koden :

zin. close () ;

Exit mobile version