Du må ikke klar over det, men Java allerede har alle de værktøjer , det har brug for at håndtere fælles fil komprimering og pakning ZIP-format indbygget i som standard. Hvis du har brug for at skrive et program, der er i stand til at håndtere ZIP-filer , såsom en ny WinZip morder, Java har alt det udstyr du behøver for at komme i gang. Ting du skal
ZIP-fil
Vis Flere Instruktioner
1
Opret et Java -program. På det mest simple, kan du gøre dette ved at åbne en teksteditor , som Notesblok , og straks gemme det med navnet " ZipReader.java ". Men hvis du har en Java Integrated Development Environment gerne Netbeans eller Eclipse , kan du spare lidt tid ved at klikke på "File " - ". Nyt projekt ">
2
importere følgende biblioteker fra Java standard biblioteket , at du bliver nødt til at læse Zip-filer ved at indsætte følgende i toppen af den fil, du lige har oprettet i trin 1
import java.io.FileInputStream ; .
import java . io.FileOutputStream ;
import java.util.zip.ZipEntry ,
import java.util.zip.ZipInputStream ,
3
Indsæt efter kode i programmet for at give den sin grundlæggende struktur : Hej
public class ZipExample {
offentlige static void main ( String [] args ) {
try {
} catch ( Exception e ) {
System.out.println ( "FEJL ");
}
}
} < br > p Alle resten af koden vil gå mellem de " prøve " og " fange " udsagn , som er designet til at håndtere eventuelle fejl, der måtte opstå.
4
Forbered nogle variabler til at holde data fra zip-filen midlertidigt ved at indsætte følgende kommandoer i " try" blok af den vigtigste metode , du skrev i trin 3 : Hej
ZipEntry indrejse
int BUFFER = 1024 ;
int count = 0;
byte [ ] data = new byte [ 1024 ]
ZipEntry vil henvise til hver fil i ZIP-arkiv på skift. Buffer er antallet af bytes til at læse fra ZIP-fil ad gangen, og 1.024 er en temmelig standard tal, men det er ligegyldigt, hvad du vælger. Formålet er simpelthen at sikre, at harddisken ikke er overbebyrdede læsning individuelle bytes én efter én . Endelig tæller kommer til at holde styr på hvor mange bytes der faktisk læses fra ZIP-fil i hvert pass (da det filstørrelsen er usandsynligt, at være et multiplum af 1024 ). Dette er vigtigt , fordi du bliver nødt til at vide, hvor meget data bliver skrevet til den nye fil i trin 6. .
5.
Åbn ZIP-fil . Dette er en to -trins proces . Først , skal du læse zip-filen ind i en FileInputStream , og for det andet skal du konvertere dette til en ZipInputStream . Indsæt følgende kode til at opnå dette : Hej
FileInputStream file_input = new FileInputStream ( " Archive.zip ")
ZipInputStream zin = new ZipInputStream ( file_input )
6 < p> Gå gennem ZIP-fil , én post ad gangen og skrive, at adgang til harddisken , med følgende kode , sammenklistret umiddelbart efter den sidste kode : Hej
while ( (post = zin.getNextEntry () ) = null ) {
FileOutputStream fout = new FileOutputStream ! ( entry.getName ());
while ( (tæl = zin.read (data , 0, BUFFER )) = - 1 ) {
fout.write (data , 0, count) ;
}
fout.flush ();
fout.close () ;
}
7
Luk ZIP-fil ved at indsætte følgende umiddelbart efter sidste kode : Hej
zin.close ();