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 :

Extraire des lignes precises d'un fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Extraire des lignes precises d'un fichier
    bonsoir, je voudrais savoir si quelqu'un sait comment extraire des lignes précises d'un fichier en java. En fait il faut que je parcour un fichier et des que je rencontre le mot "texte" je dois extraire la fin de la ligne.
    Comme je débute, je ne maitrise pas du tout le java, mais j'arrive deja a lire le fichier et le recopier dans un autre.
    Merci beaucoup pour ceux qui vont se donner la peine de repondre.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    salut
    quand tu scrutes un fichier, généralement, tu scrutes lignes par lignes, ou car par car.

    ce que tu peux faire, c'est quand tu recup un ligne, tu peux recuperer une portion de la ligne :
    .substring(beginIndex, endindex);

    apres, quand tu as vu que c'etais la bonne ligne, tu fais un traitement !!

    ++
    Sylvain

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    j' ai essayé avec la methode substring mais ça me met une erreur du type:
    "erreurjava.lang.StringIndexOutOfBoundsException: String index out of range: 4"
    et mon code est(peut etre que ca peut aider a resoudre le pb)

    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
    36
    37
    38
    39
    public class fichier2 {
     
    	public static void main(String[]args){
    		try{
    			File fichier = new File("D:\\stage\\pb_datawindow\\dw_nom_usuel.srd");
    			FileReader file_read = new FileReader(fichier);
    			BufferedReader tampon = new BufferedReader(file_read);
    			String ligne;
    			StringBuffer contenu = new StringBuffer();
    			while ((ligne = tampon.readLine())!= null){//tt que le fichier n'est pa lu jusqu'a la fin
    				int k = (int)ligne.length();
    				byte[] repert = new byte[k];  //tableau de byte
    	//			fichier.read(repert);
    				String id = new String(repert);
    				 String text=id.substring(0,4);
    				  if (text.equals("text(")){
    					System.out.print(ligne);
    					contenu.append(ligne);
    				  }
     
    					 //car = file_read.read();
    					 //System.out.print((char)car);
    					 //contenu.append((char)car); 
    				  }
    			tampon.close();	
    			file_read.close();			
    			File fichierSortie = new File("copie.txt");
    			FileWriter ecritureTexte = new FileWriter(fichierSortie);
    			BufferedWriter tampon2= new BufferedWriter(ecritureTexte);
    			tampon2.write(contenu.toString());
    			tampon2.flush();
    			tampon2.close();
    			ecritureTexte.close();
    		}
    		catch(Exception e){
    			System.out.println("erreur"+e.toString());		
    	}
    }	
    }

  4. #4
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    bonjour,


    essaie comme ça :


    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 static void main(String[] args) {
    			try {
    				File fichier =
    					new File("D:\\stage\\pb_datawindow\\dw_nom_usuel.srd");
    				FileReader file_read = new FileReader(fichier);
    				BufferedReader tampon = new BufferedReader(file_read);
    				String ligne;
    				StringBuffer contenu = new StringBuffer();
    				while ((ligne = tampon.readLine()) != null) {
    					//tt que le fichier n'est pa lu jusqu'a la fin 
     
    					if (ligne.startsWith("text(")) {
    						System.out.print(ligne);
    						contenu.append(ligne);
    					}
     
    					//		  car = file_read.read(); 
    					//		  System.out.print((char)car); 
    					//		  contenu.append((char)car); 
    				}
    				tampon.close();
    				file_read.close();
    				File fichierSortie = new File("copie.txt");
    				FileWriter ecritureTexte = new FileWriter(fichierSortie);
    				BufferedWriter tampon2 = new BufferedWriter(ecritureTexte);
    				tampon2.write(contenu.toString());
    				tampon2.flush();
    				tampon2.close();
    				ecritureTexte.close();
    			} catch (Exception e) {
    				System.out.println("erreur" + e.toString());
    			}
    		}
    	}

    bon courage

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    c cool mais j'obtient toujours la meme erreur:
    "erreurjava.lang.StringIndexOutOfBoundsException: String index out of range: 4"
    vous pensez que le pb peux venir de ou?
    Merci beaucoup pour la reponse

  6. #6
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    bonjour,

    ca ne peut pas venir du code que je viens de donner.
    Aucune méthode lance ce genre d'exception.

    montre ce que tu as fais.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    j' ai recopier le code que tu m'as passé et en le compilant ca donne l'erreur que je t di. je te passe tout le code que je compile:
    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
    36
    public class essai{
    public static void main(String[] args) { 
    		 try { 
    			File fichier = 
    			   new File("D:\\stage\\pb_datawindow\\dw_nom_usuel.srd"); 
    			FileReader file_read = new FileReader(fichier); 
    			BufferedReader tampon = new BufferedReader(file_read); 
    			String ligne; 
    			StringBuffer contenu = new StringBuffer(); 
    			while ((ligne = tampon.readLine()) != null) { 
    			   //tt que le fichier n'est pa lu jusqu'a la fin 
     
    			   if (ligne.startsWith("text(")) { 
    				  System.out.print(ligne); 
    				  contenu.append(ligne); 
    			   } 
     
    			   //        car = file_read.read(); 
    			   //        System.out.print((char)car); 
    			   //        contenu.append((char)car); 
    			} 
    			tampon.close(); 
    			file_read.close(); 
    			File fichierSortie = new File("copie.txt"); 
    			FileWriter ecritureTexte = new FileWriter(fichierSortie); 
    			BufferedWriter tampon2 = new BufferedWriter(ecritureTexte); 
    			tampon2.write(contenu.toString()); 
    			tampon2.flush(); 
    			tampon2.close(); 
    			ecritureTexte.close(); 
    		 } 
    		 catch (Exception e) { 
    			System.out.println("erreur" + e.toString()); 
    		 } 
    	  } 
    }

  8. #8
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    re,

    étrange....

    tu veut bien faire

    dans ton catch
    et nous montrer la sortie que ça t'affiche.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Non c bon c que je maitrise pas le logiciel, en fait ca me compiler mon ancien fichier et maintenant ca marche merci t le meilleur
    merci beaucoup encore

  10. #10
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    ben y à pas de quoi.

    N'oublie pas de mettre un tag Resolu

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

Discussions similaires

  1. Extraire des lignes d'un fichier .csv
    Par cre31400 dans le forum Fortran
    Réponses: 5
    Dernier message: 27/11/2009, 13h56
  2. Extraire des lignes d'un fichier ini en Batch
    Par yoyo612 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/07/2008, 20h25
  3. Réponses: 14
    Dernier message: 16/07/2008, 11h47
  4. Extraire des lignes d'un fichier
    Par Scal-tn dans le forum Administration système
    Réponses: 3
    Dernier message: 20/04/2008, 13h39
  5. Extraire des lignes d'un fichier en commande bash
    Par newnew dans le forum Linux
    Réponses: 3
    Dernier message: 27/07/2004, 16h22

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