Mon application génère une exception - java.io.FileNotFoundException: Chemin de fichier non valide. Pas certain de pourquoi. J'ai lu les questions et réponses sur le thème mais personne ne pouvait m'aider.Exception de chemin de fichier non valide
Voici le code:
String userhome = System.getProperty("user.home");
String filename = null;
File rdp = null;
for (int item = 0; item < darab; item++) {
filename = toValidFileName(ProgramList.get(item).getP_name());
filename += ".rdp";
rdp = new File(userhome, filename);
try {
JFrame panel;
panel = new JFrame();
panel.setSize(400, 10);
panel.setLocation(300, 400);
panel.setTitle("Saving " + rdp.getAbsolutePath());
try (FileOutputStream fstr = new FileOutputStream(rdp)) {
panel.setVisible(true);
char c;
for (int j = 0; j < 2336; j++) {
c = ProgramList.get(item).p_body.charAt(j);
fstr.write(c);
}
fstr.flush();
fstr.close();
panel.setVisible(false);
}
} catch (IOException ioe) {
JOptionPane.showMessageDialog(this,
ioe.getMessage(), "Save rdp file", JOptionPane.ERROR_MESSAGE);
System.err.println(ioe.getMessage() + " : "+ rdp.getAbsoluteFile());
}
}
Et le résultat: chemin de fichier non valide: C: \ Users \ LIPI \ CosmicLd.rdp
toValidFilename() est de supprimer les caractères interdits du (KORG RADIAS) nom du programme pour créer un nom de fichier valide.
Je n'ai pas trouvé ma faute :( Le répertoire de destination est lu non seulement, l'utilisateur dispose des privilegs nécessaires Quand je regarde la file.canWrite() après la ligne. rdp = new File (userhome, nom de fichier), il est toujours faux Qu'est-ce que je fait de mal Merci
Si j'ai choisi un fichier pour écrire par un filechooser c'est du travail. –
Souhaitez-vous publier la trace de la pile et le code toValidFileName? – efekctive
S'il vous plaît choisir le même fichier avec le fichier-choser et imprimer le nom du fichier. Comparez le nom à celui qui échoue. Soyez à l'affût des espaces blancs. – Arkadiy