2012-05-15 3 views
0

Я пытаюсь разархивировать файл, называемый «resources.zip», и когда я получу эту ошибку.У меня ошибка с OutputStream

java.io.FileNotFoundException: C:\Users\User\AppData\Roaming\VAPOUR\Destiny\resources (Access is denied) 
at java.io.FileOutputStream.open(Native Method) 
at java.io.FileOutputStream.<init>(Unknown Source) 
at java.io.FileOutputStream.<init>(Unknown Source) 
at classes.a.extractFolder(a.java:198) 

On line 198 ... It's;

OutputStream outStream = new FileOutputStream(output2.toString()); 

Если вам нужно больше, я всегда могу добавить некоторые! :) Спасибо за помощь :)

+0

Ошибка говорит 'resources' вместо' resources.zip'. Каково точное значение 'output2'? –

+0

Его в C: \ Users \ User \ AppData \ Roaming \ VAPOR \ Destiny \ resources – KeirDavis

ответ

2

, если вы звоните «outputs.mkdirs()», прежде чем пытаться записать файл, то проблема в том, что вы создают каталог, который является именем файла, который вы пытаетесь написать.

для того, чтобы создать каталог и затем файл, сделать что-то вроде:

File f = new File("..."); 

// create all parent dirs for the target file 
f.getParentFile().mkdirs(); 

// ... now write the file itself ... 
0

Убедитесь, что файл, к которому вы пытаетесь получить доступ, существует (Файл NotFound Исключение), а также убедитесь, что у вас есть разрешение на его чтение. Также возможно, что вам не разрешено открывать .zip-файл в качестве каталога (вы пытаетесь получить доступ к resources, а не resources.zip). Возможно, попытайтесь получить доступ к resources.zip напрямую, а не к доступу к каталогу, а затем к доступу к файлу?

Надеюсь, это поможет!

0

что исключение обычно выбрасывается, если каталог вы пытаетесь писать не существует

+0

outputs.mkdirs(); до OutputStream outStream = новый FileOutputStream (outputs.toString()); – KeirDavis

Смежные вопросы