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

avec Java Discussion :

Lire et écrire dans un fichier


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 35
    Par défaut Lire et écrire dans un fichier
    Salut, je me lance dans l'apprentissage de la lecture et de l'écriture dans un fichier texte.

    Comme pour mes autres publication ici, je cherche un petit exemple qui me permettrait d'apprendre en décortiquant le code. Voici ce que j'aimerais coder :

    Dans un fenêtre j'ai 6 jtextfield. Ils sont vides au début mais dès que j'inscris une donnée (ou un texte), ils s'enregistrent automatiquement. Lorsque je relance mon programme, les données déjà entrées réapparaissent.

    Est-ce quelqu'un a déjà vue un petit exemple programme comme celui-ci ? Où est-ce si compliqué à concevoir ? Je m'y connais un peu dans la conception avec swing, mais comment enregistrer ces informations ?

    Merci !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il faut définir des spécifications plus précises : il y a plusieurs façons de faire ton programme, plus ou moins complexes, qui demandent plus ou moins de travail, et tout dépend des aspects que tu veux faire travailler...

    Trouver un exemple qui fait tout en une fois, ça me semble difficile, déjà justement parce qu'il y a beaucoup de façons de le faire. Je pense que tu trouveras plus facilement les éléments séparés (voir FAQ Développez par exemple) et il te faudra les assembler.

    Je vois cinq aspects dans un tel programme :

    1. Détecter la saisie pour déclencher l'écriture dans le fichier (je mets de côté l'aspect création du formulaire, qui est une autre problématique, à spécifier également : Swing, JavaFX... web... ? )
      1. On peut déclencher l'écriture en cliquant sur un bouton : pas de détection automatique
      2. On peut détecter la saisie à la validation (l'utilisateur tape la touche entrée (ou équivalent) ou change de champ (changement de focus, traversée (touches tab/shift-tab)) : utilisation d'un ActionListener
      3. On peut détecter la saisie au fil de l'eau (chaque frappe (ou équivalent, saisie vocale, clavier braille, copier/coller...)) : DocumentListener

    2. Ecrire dans un fichier texte
      1. Ecriture basique : FileWriter, FileOutputStream/OutputStreamWriter
      2. Ecriture via tampon : BufferedWriter (via new BufferedWriter ou Files.newBufferedWriter)
      3. Ecriture comme si on écrivait dans la console : PrintWriter ou PrintStream
      4. Ecriture dans fichier structuré :
        1. Properties
        2. XML : DOM, SAX, StAX...
        3. JSON
      5. Annexe : problématique de l'encodage
      6. Alternatives et compléments, plus complexe je pense
        1. Eventuellement fichier à accès direct (RandomAccessFile)
        2. Eventuellement détection modification du fichier en parallèle (Watcher)
    3. Lire un fichier texte
      1. FileReader, FileInputStream/InputStreamReader
      2. BufferedReader,
      3. Properties, CSV, XML, JSON...
    4. Repérer un fichier
      1. Chemin relatif (dossier de travail de l'application : user.dir)
      2. Emplacement fixe imposé (user.home ou autre)
      3. Emplacement au choix de l'utilisateur : JFileChooser
    5. Repérer une information dans un fichier pour l'associer au bon champ
      1. Lecture ligne à ligne, traitement par stream...
      2. Une donnée par ligne ou une ligne avec données séparées (CSV, tab-separated...)
      3. Ecriture de nom de champ dans les lignes, analyse de chaine à la la lecture
      4. Fichier structuré (Properties, CSV, XML, JSON...)
      5. En annexe : validité des données, gestion des erreurs
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Par défaut
    En fait ta question touche deux sujets :
    1. La lecture et écriture des fichiers en Java
    2. Et, Modifier le texte d'un JTextField



    JTextField
    Pour ce qui est de la modification du texte d'un JTextField, tu peux utiliser la méthode setText(). Exemple :
    JTextField txt = new JTextField();
    txt.setText("Exemple de contenu");

    Tu peux également opter pour l'Utilisation d'un JTextAra, si ton texte est large. JTextArea offre en plus la méthode append(), qui permet de concatener un nouveau text au texte existant. Exemple :
    JTextArea txt2 = new JTextArea("Hello ");
    txt.append("world"); // ce qui donne "Hello world"

    Lecture et Ecriture des fichiers en Java
    La FAQ et les tutoriels du site Developpez présentent tout ce qu'il faut savoir à ce sujet.

Discussions similaires

  1. Lire et écrire dans un fichier binaire
    Par poche dans le forum C
    Réponses: 17
    Dernier message: 19/03/2007, 16h52
  2. Lire et écrire dans un fichier bin!
    Par poche dans le forum C
    Réponses: 9
    Dernier message: 12/03/2007, 12h42
  3. lire et écrire dans un fichier
    Par karel dans le forum C
    Réponses: 15
    Dernier message: 18/01/2006, 17h24
  4. [FTP] Lire et écrire dans un fichier
    Par dj-julio dans le forum Langage
    Réponses: 49
    Dernier message: 12/01/2006, 11h59
  5. [Rech. Comp.] Lire et écrire dans des fichiers XML
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/08/2005, 20h48

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