Ich versuche, eine Datei mit der Methode, die ich online gefunden hatte, zu entpacken.Java - Entpacken der Datei gibt FileNotFoundException zurück
public static void unzipFile(String zipFile, String outputFolder) throws IOException {
File destDir = new File(outputFolder);
if (!destDir.exists()) {
destDir.mkdir();
}
ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFile));
ZipEntry entry = zipIn.getNextEntry();
while (entry != null) {
String filePath = outputFolder + File.separator + entry.getName();
if (!entry.isDirectory()) {
extractFile(zipIn, filePath);
} else {
File dir = new File(filePath);
dir.mkdir();
}
zipIn.closeEntry();
entry = zipIn.getNextEntry();
}
zipIn.close();
}
public static void extractFile(ZipInputStream zipIn, String filePath) throws IOException {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
byte[] bytesIn = new byte[4096];
int read = 0;
while ((read = zipIn.read(bytesIn)) != -1) {
bos.write(bytesIn, 0, read);
}
bos.close();
}
Allerdings halte ich auf FileNotFoundException bekommen BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
Fehlermeldung: java.io.FileNotFoundException: /Users/michael/NetBeansProjects/test/build/web/TEST_ZIP/my-html/css/bootstrap-theme.css (Not a directory)
Ich habe versucht, mit der Fehlerzeile zu ändern:
File file = new File(filePath);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
aber didn‘ t arbeiten entweder. Die gleiche Fehlermeldung wird in der Konsole angezeigt.
Meine ZIP-Dateistruktur:
my-html
|
|- css
| |
| |- bootstrap-theme.css
| |- ..
| |- ..
|
|-index.html
Haben Sie in Betracht gezogen, den Javadoc zu konsultieren? Und welchen Teil von "Sie erstellen nur eine Ebene des Verzeichnisses" haben Sie nicht verstanden? – EJP