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

Entrée/Sortie Java Discussion :

écrire au début d'un fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut écrire au début d'un fichier
    Bonsoir tous,

    J'ai besoin d'écrire au début d'un fichier que je ne veux pas écraser. donc juste lui ajouter une phrase au début.

    Est ce qu'il y a une méthode qui va permettre ceci ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    tu peut récuper le contenu déja existant de ton fichier dans un string CH
    aprés tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     phrase_au_début += CH ;
    (si tu veut rester avec la classe String )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Par défaut
    Bonjour,

    Comme l'a dit slim_java, tu peux créer un nouveau fichier dans lequel tu colles ta phrase de début, et le contenu de l'ancien fichier à la suite. Par contre, si ton fichier est gros, il faudrait éviter de le charger entièrement dans une String. Dans ce cas, il vaut mieux créer un nouveau fichier, écrire la phrase au début, puis lire séquentiellement l'ancien et coller son contenu ligne par ligne dans le nouveau. D'ailleurs, c'est ce que tu ferais si tu plaçais son contenu dans une String finalement. Donc au lieu de concaténer tes lignes de l'ancien fichier dans une String, tu les balances dans le flux du nouveau. Bien sûr après, tu supprimes l'ancien fichier et tu renommes le nouveau.

    Je t'invite à regarder du côté des Reader et Writer, en particulier BufferedReader et BufferedWriter, qui savent gérer les lignes justement.

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par Eric73 Voir le message
    Bonjour,

    Comme l'a dit slim_java, tu peux créer un nouveau fichier dans lequel tu colles ta phrase de début, et le contenu de l'ancien fichier à la suite. Par contre, si ton fichier est gros, il faudrait éviter de le charger entièrement dans une String. Dans ce cas, il vaut mieux créer un nouveau fichier, écrire la phrase au début, puis lire séquentiellement l'ancien et coller son contenu ligne par ligne dans le nouveau. D'ailleurs, c'est ce que tu ferais si tu plaçais son contenu dans une String finalement. Donc au lieu de concaténer tes lignes de l'ancien fichier dans une String, tu les balances dans le flux du nouveau. Bien sûr après, tu supprimes l'ancien fichier et tu renommes le nouveau.

    Je t'invite à regarder du côté des Reader et Writer, en particulier BufferedReader et BufferedWriter, qui savent gérer les lignes justement.
    Bonjour, Merci pour vos réponses et pour les infos qui y sont.
    En fait je voulais éviter de lire mon fichier ou de le transformer en String parceque ceci me créé des problèmes au niveau de l'encodage.
    Est ce qu'il n'y a pas une méthode qui me permet d'insérer une nouvelle ligne sur le début du fichier sans toucher au reste ?

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par luna007 Voir le message
    En fait je voulais éviter de lire mon fichier ou de le transformer en String parceque ceci me créé des problèmes au niveau de l'encodage.
    Si tu as des problèmes d'encodage tu en auras aussi sur la première ligne. Il serait plus raisonnable de corriger ce problème plutôt que d'essayer de l'éviter !

    Citation Envoyé par luna007 Voir le message
    Est ce qu'il n'y a pas une méthode qui me permet d'insérer une nouvelle ligne sur le début du fichier sans toucher au reste ?
    Non...

    a++

  6. #6
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    Sinon, tu regarde la classe java.io.RandomAccessFile, cela pourra peut être t'etre utile.

    Comme le disait adiGuba il faudra quand même faire attention a l'encodage.
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. écrire au début d'un fichier
    Par haskouse dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 08/03/2013, 09h24
  2. écrire au début d'un fichier
    Par billy242 dans le forum C
    Réponses: 10
    Dernier message: 27/12/2011, 20h27
  3. Réponses: 10
    Dernier message: 23/09/2010, 16h42
  4. Écrire au début du fichier
    Par Nayila dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2008, 09h14
  5. écrire au début d'un fichier sans l'écraser
    Par Davboc dans le forum Langage
    Réponses: 11
    Dernier message: 30/12/2005, 01h48

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