我正在编写一个需要提取 zip 文件的程序。我有应该可以工作的代码,但由于某种原因抛出了java.io.FileNotFoundException
.
这是方法:
private static void unzip() {
ZipInputStream input = null;
try {
input = new ZipInputStream(new BufferedInputStream(new FileInputStream(SERVER_FOLDER + File.separator + "folder" + File.separator + "mods.zip")));
} catch (FileNotFoundException e) {
System.err.println("The program has encountered an error and needs to stop.\nPlease notify the program author of this problem.");
e.printStackTrace();
System.exit(-1);
}
ZipEntry entry;
final int BUFFER = 8192;
System.out.print("Extracting...");
try {
byte[] data = new byte[BUFFER];
while ((entry = input.getNextEntry()) != null) {
BufferedOutputStream output = new BufferedOutputStream(
new FileOutputStream(entry.getName()), BUFFER);
int count;
while ((count = input.read(data, 0, BUFFER)) != -1) {
output.write(data, 0, BUFFER);
}
input.closeEntry();
output.flush();
output.close();
}
input.close();
} catch (IOException e) {
System.err.println("The installer has encountered an error and needs to stop.\nPlease notify the program author of this problem.");
e.printStackTrace();
System.exit(-1);
}
System.out.println("Done");
}
这会产生以下控制台输出:
java.io.FileNotFoundException: META-INF/MANIFEST.MF (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at me.smithb99.installer.ServerInstaller.unzipMods(ServerInstaller.java:330)
at me.smithb99.installer.ServerInstaller.installServer(ServerInstaller.java:84)
at me.smithb99.installer.Main.main(Main.java:71)