2012-05-15 1 views
0

J'essaye de décompresser un fichier, appelé 'resources.zip' et quand je fais j'obtiens cette erreur.J'ai une erreur avec 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) 

Sur la ligne 198 ... C'est;

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

Si vous avez besoin de plus, je peux toujours en ajouter! :) Merci pour l'aide :)

+0

L'erreur dit '' resources' plutôt que resources.zip'. Quelle est la valeur exacte de 'output2'? –

+0

Son dans C: \ Utilisateurs \ Utilisateur \ AppData \ Roaming \ VAPOR \ Destin \ ressources – KeirDavis

Répondre

2

si vous appelez « outputs.mkdirs() » avant d'essayer d'écrire le fichier, le problème est que vous créez un répertoire qui est le nom du fichier que vous essayez d'écrire.

afin de créer le répertoire et le fichier, faire quelque chose comme:

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

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

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

Assurez-vous que le fichier auquel vous essayez d'accéder existe (Fichier NotFound Exception) et assurez-vous également que vous êtes autorisé à le lire. Il est également possible que vous n'ayez pas le droit d'ouvrir un fichier .zip en tant que répertoire (vous essayez d'accéder à resources, et non à resources.zip). Peut-être essayer d'accéder resources.zip directement au lieu d'accéder au répertoire, puis accéder au fichier?

Espérons que cela aide!

0

cette exception est généralement levée si le répertoire que vous essayez d'écrire n'existe pas

+0

sorties.mkdirs(); est avant le OutputStream outStream = nouveau FileOutputStream (outputs.toString()); – KeirDavis