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 :
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();
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.

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 :

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();
Un exception se lèvre alors, pour me signaler que je ne peux pas faire d'output
(java.net.UnknownServiceException: protocol doesn't support output)

Voyez-vous une solution pour me permettre d'écrire dans mon fichier, via une URL ?