CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JAVA] Obtenir un OutputStream (.jar)

GodSapPower
GodSapPower
Niveau 8
11 mai 2012 à 14:43:45

Bonjour à tous,

Actuellement je développe une application JAVA/SWING pour une université étrangère.
Par soucis de diffusion, je dois accéder à un fichier de mes ressources, et écrire dedans (il se situe au dossier src).

public void ajouterJoueur(final String pseudo, final String password)
{
FileWriter writer = null;
try {
// boolean append = true pour ecrire à la fin
writer = new FileWriter(new
File(FenetreInscription.class.getResource(FILE_PLA
YER).getFile()),true);
// on ecrit la nouvelle ligne du pseudo + mot de passe encode à la fin du fichier joueur

writer.write(pseudo+","+FenetreAccueil.getEncod
edPassword(password)+"\n");
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, "Probleme survenu dans l'ecriture");
}
finally {
if (writer!=null)
{
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
//
}
}
}

Cette fonction marche uniquement si je laisse le .jar à la racine du projet... donc ça pose un problème pour la diffusion

Comment adapter ma fonction pour la diffusion ? Je peux récupérer ma ressource quand je le désire avec getResourceAsStream("/monfichier"), mais cette fonction retourne un InputStream...

J'ai accès à mes images (avec le getResourceAsStream(..), et à mes fichiers ressources en LECTURE, grâce à l'InputStream... mas pour les fichiers en écriture, je bloque.

merci de votre aide !

Bunyan
Bunyan
Niveau 17
11 mai 2012 à 16:58:44

Mets ton code sur un site comme pastebin, il sera lisible.

Sinon, tu demandes concrètement d'écrire dans un fichier contenu dans un zip.
Je ne sais absolument pas si c'est possible sans le désarchiver, mais ta question est équivalente, peut-être cela t'ouvrira-t-il quelques portes ...

Ps : les catchs vide ... évite, et pour une bonne fermeture des flux, utilise plutôt des try/finally, ou si tu peux être en Java 7, le try-with-resources.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment