我目前正試圖創建一個Java
程序,將文件夾解壓到某個文件夾中的文件夾Program Files
內的程序文件夾中。解壓縮文件夾中使用Java
我使用的第三方庫Zip4j
解壓縮的文件夾。以下是我正在使用的代碼。
String source = "C:\\Users\\chris\\Desktop\\New folder.zip";
String destination = "C:\\Program Files (x86)\\Test Folder";
String password = "password";
try {
ZipFile zipFile = new ZipFile(source);
if (zipFile.isEncrypted()) {
zipFile.setPassword(password);
}
zipFile.extractAll(destination);
} catch (ZipException e) {
e.printStackTrace();
}
它工作完美,如果我想解壓到桌面上的普通文件夾。但是一旦我嘗試將其解壓縮到程序文件,我會收到以下Exception java.io.FileNotFoundException
。
我認爲我的程序需要管理員權限才能訪問Program Files
文件夾中的文件夾。有誰知道如何做到這一點?
錯誤日誌:
Caused by: java.io.FileNotFoundException: C:\Program Files (x86)\Test Folder\New folder\New Text Document.txt (The system cannot find the path specified) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.<init>(FileOutputStream.java:213) at java.io.FileOutputStream.<init>(FileOutputStream.java:162) at net.lingala.zip4j.unzip.UnzipEngine.getOutputStream(UnzipEngine.java:432) ... 7 more
文件夾確實存在,因爲我創造了自己。但是它似乎是一個許可的事情,因爲當代碼無法打開路徑名中表示的文件夾/文件名時引發異常。我試過你的代碼,但是我得到了和以前一樣的錯誤。 – noobCoder
你能發佈錯誤日誌嗎? – mattymanme
產生的原因:java.io.FileNotFoundException:C:\ Program Files文件(x86)的\ Test文件夾\新建文件夾\新建文本文檔(該系統找不到指定的路徑) \t在java.io.FileOutputStream中。 openO(Native Method) \t at java.io.FileOutputStream.open(FileOutputStream.java:270) \t at java.io.FileOutputStream。(FileOutputStream.java:213) \t at java.io.FileOutputStream。 (FileOutputStream.java:162) \t在net.lingala.zip4j.unzip.UnzipEngine.getOutputStream(UnzipEngine.java:432) \t ... 7更 –
noobCoder