Java zip实用程序未写入C:\
我一直在使用这段代码将目录压缩到磁盘C中,在大学实验室的计算机中,程序确实创建了exp.zip,没有任何问题,但在我的计算机中这是不可能的。我在所有权限允许的情况下,将磁盘C所有权更改为实际会话,并以管理员身份运行程序a.jar文件,但没有成功。我认为这不是一个代码问题,因为它在运行windows和linux的实验室计算机上都能正常工作。当然,改变路径,但我还是要将它粘贴到这里,以便您了解我正在尝试做什么:Java zip实用程序未写入C:\,java,windows,zip,Java,Windows,Zip,我一直在使用这段代码将目录压缩到磁盘C中,在大学实验室的计算机中,程序确实创建了exp.zip,没有任何问题,但在我的计算机中这是不可能的。我在所有权限允许的情况下,将磁盘C所有权更改为实际会话,并以管理员身份运行程序a.jar文件,但没有成功。我认为这不是一个代码问题,因为它在运行windows和linux的实验室计算机上都能正常工作。当然,改变路径,但我还是要将它粘贴到这里,以便您了解我正在尝试做什么: import java.io.File; import java.io.FileInpu
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Compress {
public static void zipDirectory(String dir, String zipfile)
throws IOException, IllegalArgumentException {
File d = new File(dir);
if (!d.isDirectory())
throw new IllegalArgumentException("Not directory: "+ dir);
String[] entries = d.list();
byte[] buffer = new byte[4096];
int bytesRead;
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile));
for (int i = 0; i < entries.length; i++) {
File f = new File(d, entries[i]);
if (f.isDirectory())
continue;
FileInputStream in = new FileInputStream(f);
ZipEntry entry = new ZipEntry(f.getPath());
out.putNextEntry(entry);
while ((bytesRead = in.read(buffer)) != -1)
out.write(buffer, 0, bytesRead);
in.close();
}
out.close();
}
public static void compress() throws IOException {
String from = "C:\\exp\\"; //path windows
File f = new File(from);
if(!f.exists())
f.mkdir();
Compress.zipDirectory(from, "C:\\exp.zip"); //path windows
}
}
提前谢谢 你收到任何消息了吗?你得到的错误是什么…?不,我有一些对话来确认我的压缩是否工作或失败,除此之外,我没有收到任何这样的消息或任何东西。在实验室的windows/linux计算机中,我收到了成功消息,并且一切都正常工作,因此我认为这是我的计算机权限的问题