Hallo!
Ich habe ein problem. Also, eigentlich steht ja überall, wie man eine Zip Datei mit java entpackt, leider aber nicht, wie man die Dateien in eine bestimte Mappe speichert.
Oder anders gesagt, wie entpackt mann eine zip Datei in eine bestimmte Mappe. zum Beispiel, mann gibt den Namen und den Pfad einer Mappe ein (als String),die noch nicht existiert, und dann wird die Zip Datei dahin entpackt.
Ich hab es versucht, aber ohne Erfolg (meine Lösung ist wahrscheinlich vollkommen daneben
)
Dieser Versuch sollte eine Zip Datei öffnen, und sie dann in Test\ entpacken:
Also, hat einer vieleicht eine Ahnung, wie mann es besser machen könnte (also, dass es funktioniert)
Danke
.
Ich habe ein problem. Also, eigentlich steht ja überall, wie man eine Zip Datei mit java entpackt, leider aber nicht, wie man die Dateien in eine bestimte Mappe speichert.
Oder anders gesagt, wie entpackt mann eine zip Datei in eine bestimmte Mappe. zum Beispiel, mann gibt den Namen und den Pfad einer Mappe ein (als String),die noch nicht existiert, und dann wird die Zip Datei dahin entpackt.
Ich hab es versucht, aber ohne Erfolg (meine Lösung ist wahrscheinlich vollkommen daneben
Dieser Versuch sollte eine Zip Datei öffnen, und sie dann in Test\ entpacken:
Code:
import java.io.*;
import java.util.zip.*;
class Test{
public static void main(String args[]){
File root = new File(".");
String pat = root.getAbsolutePath()+"/Test";
boolean ok = (new File(pat)).mkdir();
if(!ok){System.out.println("Es funkzioniert nicht!");}
try{
FileInputStream fis = new FileInputStream("Test.zip");
BufferedInputStream bis = new BufferedInputStream(fis);
ZipInputStream zis = new ZipInputStream(bis);
ZipEntry entry;
while((entry = zis.getNextEntry())!=null)
{
if(entry.isDirectory())
{
boolean oky = (new File(pat+entry.getName())).mkdir();
}
int BUFFER = 2048;
FileOutputStream fos = new FileOutputStream(entry.getName());
BufferedOutputStream bof = new BufferedOutputStream(fos,BUFFER);
int count;
byte data[] = new byte[BUFFER];
while ((count = zis.read(data, 0, BUFFER)) != -1) {
bof.write(data, 0, count);
}
bof.flush();
bof.close();
}
zis.close();
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Danke