有没有人可以帮助我使用我的java zip提取器,如标题中所述我一直在文件夹中包含java.io.FileNotFoundException
public void UnZip() {
try {
byte[] data = new byte[1000];
int byteRead;
BufferedOutputStream bout = null;
ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(sourceFile)));
ZipEntry entry;
while ((entry = zin.getNextEntry()) != null) {
String filename = entry.getName();
File newfile = new File(Deobf2 + File.separator + filename);
System.out.println("file unzip : " + newfile.getAbsoluteFile());
new File(newfile.getParent()).mkdirs();
FileOutputStream fos = new FileOutputStream(newfile);
int len;
while ((len = zin.read(data)) > 0) {
fos.write(data, 0, len);
}
fos.close();
entry = zin.getNextEntry();
}
zin.closeEntry();
zin.close();
System.out.println("Done");
} catch (Exception e) {
e.printStackTrace();
}
}
错误日志 http://pastebin.com/crMKaa37
值
static String tempDir = System.getProperty("java.io.tmpdir");
public static File Deobf = new File(tempDir + "Deobf");
public static String Deobf2 = Deobf.toString();
整个代码粘贴 http://pastebin.com/1vTfABR1
答案 0 :(得分:0)
我有复制粘贴相同的代码,它工作正常。我想你没有C盘的管理员权限。以管理员身份登录并运行。它会工作。 如果您对C驱动器没有管理员级别的权限,则会出现拒绝访问异常。
答案 1 :(得分:0)
问题是你在做什么
String Deobf2 = Deobf.toString();//this does not give the location of the file
使用
file.getAbsolutePath();
在您的情况下Deobf.getAbsolutePath();
代替。检查http://www.mkyong.com/java/how-to-get-the-filepath-of-a-file-in-java/ 如果您只想获取路径,直到父目录检查此How to get absolute path of directory of a file?
答案 2 :(得分:0)
问题修复了一些代码 对于任何想要获得工作拉链提取代码副本的人来说,http://pastebin.com/bXL8pUSg zip输出中的变量Deobf2