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 :

Modifer un fichier en ajoutant le numéro de chaque ligne


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Points : 13
    Points
    13
    Par défaut Modifer un fichier en ajoutant le numéro de chaque ligne
    Bnjr tt le monde,

    Est ce que quelqu'un a une idée (bout de code) comment modifier un ficher texte en ajoutant au début de chaque ligne son numèro.

    C'est urgent!!!
    Mrci d'avance.

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Il faut lire le fichier ligne par ligne, et réécrire chaque ligne dans un fichier temporaire en y ajoutant le numéro de ligne.

    A la fin du traitement, une fois que les flux sont bien fermé (utiliser des try/finally), il suffit de remplacer le fichier original par le fichier temporaire...

    a++

  3. #3
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    Et bien a priori tu lis ton fichier ligne par ligne, tu ajoutes ce que tu veux dans un buffer et tu récris ton fichier...
    Bon, j'ai mal géré les exceptions, il faudrait un try...finally, mais bon, je te le laisse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    	public void litecrit(String aFileNameString){
    		StringBuffer aDataStringBuffer=new StringBuffer("");
    		BufferedReader aReader=null;
    		try {
    			aReader = new BufferedReader(new FileReader(aFileNameString));
                 int i = 1;
    			String line="";
    			while ((line=aReader.readLine())!=null)
    			{
                  aDataStringBuffer.append(i + " - "+line+"\n");
                  i++;
    			 }
    			 aReader.close();
    		}   
    			 catch (IOException e)
    			 {
     
    				e.printStackTrace();
     
    			 }
     
     
    	PrintWriter aPrintWriter=null;
    	try {
    		aPrintWriter = new PrintWriter(new FileWriter(aFileNameString));
    	} catch (IOException e) {
    		// TODO Bloc catch auto-généré
    		e.printStackTrace();
    	}
    	//feeding textfile
    	aPrintWriter.print(aDataStringBuffer);
    	aPrintWriter.close();
     
    	}
    [Edit : grilled by Adi ]

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dazz_x
    Bon, j'ai mal géré les exceptions, il faudrait un try...finally,
    Deux try/finally ! (un par fichier ouvert)
    Et perso j'utiliserai un seul try/catch (si la lecture échoue inutile de tenter l'écriture...

    Sinon je pense qu'il vaut mieux écrire directement dans un fichier temporaire plutôt que dans un StringBuffer pour des traitements aussi simple... Cela fait économiser la mémoire

    a++

  5. #5
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    Et perso j'utiliserai un seul try/catch (si la lecture échoue inutile de tenter l'écriture...
    Tout à fait d'accord, j'ai plus abusé de la complétion automatique que de mon cerveau

    Sinon je pense qu'il vaut mieux écrire directement dans un fichier temporaire plutôt que dans un StringBuffer
    Que dire sinon.... je suis d'accord aussi !!!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/04/2015, 10h59
  2. [CR XI] Comment incrémenter un numéro sur chaque ligne de détail ?
    Par juju05 dans le forum Formules
    Réponses: 2
    Dernier message: 30/04/2013, 18h42
  3. [Turbo Pascal] Tri d'un fichier texte selon la longueur de chaque ligne
    Par Almoez dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 19/10/2012, 18h03
  4. [XL-2003] ajouter un total pour chaque ligne
    Par crissud dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2011, 17h34
  5. Réponses: 2
    Dernier message: 20/10/2008, 09h24

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