IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NetBeans Java Discussion :

Lecture/Ecriture sur fichier dans Netbeans


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut Lecture/Ecriture sur fichier dans Netbeans

    Je travaille sur netbeans et je souhaite réaliser la lecture et l'écriture sur des fichiers...
    ça parait facile mais le soucis c'est d'arriver à ne rien changer quand un génère un jar avec build et qu'on l'appelle à partir de la console.

    Pour la lecture, j'ai trouvé la solution suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    props.load(getClass().getResourceAsStream("/admin/resources/properties/configuration.properties"));
    ça marche très bien même avec le jar.

    Par contre pour l'écriture, je n'ai pas trouvé de solution : j'ai essayé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    File f = new File(getClass().getResource("/admin/resources/password").toURI());
     
                            fw = new FileWriter(f, false);
                            fw.write(dig_new_pass);
                            fw.flush();
                            fw.close();
    mais j'ai une exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.lang.IllegalArgumentException: URI is not hierarchical
    une solution ???

  2. #2
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut
    Ma Question n'est peut être pas assez claire :

    Comment appeler un fichier avec un path relatif pour le lire / y écrire de manière à ce que ce même path reste valide même quand on "build" le projet et qu'on l'éxécute à partir du jar avec :
    java -jar monprojet.jar

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Il n'est pas possible de modifier directement un fichier dans un jar.
    Il faut d'abord écrire un fichier, puis refaire tout le jar avec le nouveau fichier.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut
    Merci pour ta réponse dinobogan ...
    Je ne peux pas faire ça en cours d'éxécution ( écrire le fichier et refaire le jar ).
    si ?
    Autre solution :
    Quelqu'un a t il une idée sur le path relatif pour accèder à un fichier qui se trouve dans le même répertoire que le jar ...
    Ainsi je laisserai mon fichier properties à côté du jar et je pourrai lire et écrire ..

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par NizarK Voir le message
    Merci pour ta réponse dinobogan ...
    Je ne peux pas faire ça en cours d'éxécution ( écrire le fichier et refaire le jar ).
    si ?
    Non, il ne faut pas faire ça.
    Pour écrire un fichier pour l'application, tu décides toi-même d'un répertoire à partir du répertoire courant.
    Tu obtiens le répertoire courant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File courant = new File( "." );
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre confirmé Avatar de NizarK
    Inscrit en
    Mars 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 189
    Par défaut
    Toujours aucune solution ..

    Pour ta solution dinobogan ça ne marche pas du tout car en faisant File(".") il pointe sur le chemin racine du projet en lui ajoutant le signe "." ce qui fait que si tu fais File("./properties/conf.properties") ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /chemin/du/projet/. /properties/conf.properties
    ce qui ne correspond à rien du tout


    Je n'arrive pas à trouver une façon d'accèder à un fichier properties pour y lire et y écrire et que cette façon reste valable lors du développement et après formation du jar .

    Personne n'a jamais eu à lire et à écrire à partir d'un fichier properties

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture/ecriture sur un fichier
    Par div.habib dans le forum x86 16-bits
    Réponses: 1
    Dernier message: 24/02/2011, 19h13
  2. AWK: LectureS/ecriture sur fichier
    Par Super_babar dans le forum Linux
    Réponses: 1
    Dernier message: 15/10/2007, 23h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo