Bonjour tout l'monde !
J'ai un application qui doit lire et sauvegarder des données saisies dans un fichier texte : jusque là rien d'extraordinaire. Mon soucis c'est que je développe sous Eclipse et que par conséquent j'utilise FatJar pour produire un JAR exécutable de mon application.
Il faut donc que je connecte mon fichier sous forme d'URL lorsque je veux le lire. J'y parviens avec le code suivant :
Je peux donc accéder en lecture à mon fichier de Comptes de messageries, qui est contenu dans mon JAR, et ce quelque soit l'endroit (physique et logique) d'où je souhaite exécuter mon applicatif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 java.net.URL fic_lecture = Icone_et_Menu.class.getClassLoader().getResource("Compte_Messagerie.txt"); URLConnection yc = fic_lecture.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader( yc.getInputStream())); String inputLine; inputLine = in.readLine(); System.out.println(inputLine); in.close();
Maintenant le soucis complémentaire se pose : je dois écrire dans ce fichier...
Et bien entendu il faut que je le connecte aussi sous forme d'URL (Ca me permettrait d'écrire directement dans mon JAR, sans produire des .txt un peu partout à coté du JAR).
J'emploie donc le code suivant :
Un exception se lèvre alors, pour me signaler que je ne peux pas faire d'output
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 java.net.URL fic_ecriture = Icone_et_Menu.class.getClassLoader().getResource("Compte_Messagerie_ecrit.txt"); String stringToWrite = URLEncoder.encode("lol", "UTF-8"); URLConnection connection = fic_ecriture.openConnection(); connection.setDoOutput(true); OutputStreamWriter out = new OutputStreamWriter( connection.getOutputStream()); out.write(stringToWrite ); out.close();
(java.net.UnknownServiceException: protocol doesn't support output)
Voyez-vous une solution pour me permettre d'écrire dans mon fichier, via une URL ?
Partager