Bonjour � tous !
Je souhaite depuis un certain temps r�aliser un projet qui serait enti�rement d�connecter, la solution alors trouv� : enregistrer les donn�es au format JSon !
J'utilise alors la biblioth�que GSon (de Google), qui me permet sans probl�me de lire et �crire des fichier .json. Malheureusement, apr�s avoir g�n�r� le .jar de mon projet, un message d'erreur s'affiche :
Vous pensez s�rement comme moi � la premi�re lecture : "Mais quel idiot, il n'utilise pas le bon chemin d'acc�s !". Et bien si, lorsque j'utilise une image r�pertori� dans "C:\wamp\www\RPG\build\classes\img\image.png", le chemin que Java va chercher ressemble � "C:\wamp\www\RPG\dist\RPG.jar!\img\image.png" et mon fichier JSon en question se trouve dans "C:\wamp\www\RPG\build\classes\json\Personnage.json" ! Je ne vois donc pas d'erreur la dessus...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 file:\C:\wamp\www\RPG\dist\RPG.jar!\json\Personnage.json (La syntaxe du nom de fichier, de répertoire ou de volume est incorrect).
Place au code !
J'utilise ce genre de classe pour acc�der au fichier :
Code Java : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public class JDAO_Personnage { private JsonReader reader; private static GsonBuilder builder; private static Gson gson; private Personnage[] lesPersos; private String url = getClass().getResource("/json/Personnage.json").getPath(); static{ builder = new GsonBuilder(); gson = builder.create(); } public List<Personnage> getAllPersonnages() throws FileNotFoundException{ System.out.println(url); reader = new JsonReader(new FileReader(url)); lesPersos = gson.fromJson(reader, Personnage[].class); List<Personnage> listPersos = new ArrayList<Personnage>(); listPersos.addAll(Arrays.asList(lesPersos)); return listPersos; } }
(J'ai copi� toute la classe afin que vous puissiez constater les attributs priv�s, j'esp�re que cela reste lisible...)
Comme vous pouvez le voir, j'utilise la m�thode getClass().getResource() car on me l'a tr�s "gentiment" conseill� sur StackOverflow (car ce site respire la bienveillance), si vous avez une id�e ou besoin d'une pr�cision, N'H�SITEZ PAS et dites le moi. Je suis d�sesp�r� et pr�t � me pendre au bout de mon c�ble ethernet.
A la revoyure !
Partager