La classe File etait elle folle ?

Résolu
cs_Krome Messages postés 10 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 8 septembre 2005 - 8 sept. 2005 à 09:36
cs_Krome Messages postés 10 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 8 septembre 2005 - 8 sept. 2005 à 09:57
Bonjour j'ai un petit soucis:
j'utilise le code :
public void sauver(String filename) {
// filename = options.xml et est dans le repertoire de la classe
// qui contient le code

File file= new File(this.getClass().getResource(filename).getPath());
System.out.println(file);
if (file.exists()==false)
{
System.out.println("Exist pas");
}
}

Lorsque mon application est installée dans
Program Files ca me met "Exist pas"
si elle est installée à la racine c:\ par exemple ca marche

2 réponses

cs_Krome Messages postés 10 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 8 septembre 2005
8 sept. 2005 à 09:57
J ai remplacé
File file= new File(this.getClass().getResource(filename).getPath());
par
File file = new File(this.getClass().getResource(filename).toURI());
tout simplement

Merci de ton aide
3
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
8 sept. 2005 à 09:47
getClass().getResource() te renvoit une URL, tu ne peux instancier un File avec une URL mais avec une URI.



La solution consisterai à utliser
getClass().getRessourceAsStream(filename) pour obtenir directement
l'InputStream lié à ton fichier si tu voulais lire ton fichier... mais
comme apparement tu veux écrire dedans...



Essaie toujours de mettre


File file= new File(new URL(this.getClass().getResource(filename).getPath()));



mais je suis sceptique vis à vis du resultat (et je ne peux le verifier depuis l'ordi ou je suis^^)


gmi19oj19
0
Rejoignez-nous