FileOutputStream l'accès est refusé : JAVA
J'ai le code suivant à la la bibliothèque iText bien intégrées.
import java.io.*;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;
@org.eclipse.jdt.annotation.NonNullByDefault(true)
public class HelloWorld {
public static final String RESULT = "C:\\Users\\administrator\\Pictures\\tuto";
@SuppressWarnings("resource")
public static void main(String[] args) throws DocumentException, IOException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(RESULT));
document.open();
document.add(new Paragraph("Hello World!"));
document.close();
}
}
Ce code me renvoie un message d'erreur, qui est comme suit.
Exception in thread "main" java.io.FileNotFoundException: C:\Users\valentin.schaefer\Pictures\tuto (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 HelloWorld.main(HelloWorld.java:25)
Pourtant, je suis l'administrateur de l'ordinateur et j'ai l'habitude de disposer de toutes les autorisations de compte. Je ne comprends pas pourquoi il a retourn moi Access is denied
.
Le répertoire existe pas?
Avez-vous essayez d'accéder aux fichiers à partir de quelque part à l'extérieur de l'espace utilisateur? ou autre lecteur?
oui, le répertoire existe et le dossier ont imbécile autorisations
il semble que vous pouvez pointer vers un répertoire. Essayez de veiller à ce que les
Avez-vous essayez d'accéder aux fichiers à partir de quelque part à l'extérieur de l'espace utilisateur? ou autre lecteur?
oui, le répertoire existe et le dossier ont imbécile autorisations
il semble que vous pouvez pointer vers un répertoire. Essayez de veiller à ce que les
RESULT
est pointée sur une inexistante fichier ou une qui peut être édité et sauvegardé.OriginalL'auteur mortiped | 2014-02-25
Vous devez vous connecter pour publier un commentaire.
Vous essayez d'accéder à l'annuaire. Le paramètre de la FileOutputStream devrait être un
File
/Path
objet pointant dans un fichier:Pour plus de détails, jetez un oeil sur http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
OriginalL'auteur Kick
Vous devez avoir la permission d'accéder au fichier de localisation. Il y a deux solutions possibles.
OriginalL'auteur Ruchira Gayan Ranaweera
En fait, vous tentez d'accéder à l'annuaire à l'aide de FileOutputStream( )
signifie que vous essayez d'accéder à l'annuaire "C:\Users\administrator\Pictures\tuto"
aide -
Qui est mal, comme les entrées valides qui peuvent être fournis à FileOutputstream( ) est soit le nom de fichier comme "xyz.txt") ou le chemin du fichier ("C:\sample\xyz.txt").
Grâce.
OriginalL'auteur LearnAndHelp
J'ai eu un problème similaire dans lequel j'ai décompressé un fichier jar qui a échoué en raison de ce message d'erreur. Ce pot est un pot avec dépendances et j'ai eu récemment ajouté une nouvelle dépendance. Après examen de la jar contenu, il s'est avéré que j'avais un
LICENSE
fichier et un dossierlicense
dans la même racine. Tout cela est parfaitement valide sur Linux, le système de fichiers Windows va barf. Le travail autour dans mon cas a été intercepter cette erreur dans un try/catch. Dans la prise, vérifier si vous êtes sur windows, si le journal d'avertissement comme il n'y a pas beaucoup qui peut être fait, sinon jeter.OriginalL'auteur spy
J'ai été l'exécution de mon code un peu fine à Ubuntu.
FileOutputStream = new FileOutputStream("test");
Après être passé à Windows je commence à voir cette exception.
M'a coûté quand même le temps de remarquer que cette exception qui se passait parce que j'ai eu un répertoire appelé TEST et essaie de créer une fichier appelé test
Je pense que Windows n'est pas sensible à la casse, de sorte qu'il est ambigu.
Alors que
C:\directory\TEST
n'est pas égal àC:\directory\test
sur Ubuntu.C:\directory\TEST
est égal àC:\directory\test
sur Windows.OriginalL'auteur thiagola92