Besoin correction code découpage de texte

saly -  
nark Messages postés 30 Statut Membre -
Bonjour,
J'ai besoin d'une classe java qui permet d'accéder à un fichier texte et de le découper en chaines de caractères tout en les stockant dans un tableau, alors j'ai essayer le code suivant:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileReader;
public class saly{
public static void main(String args[])
{
int y=0;
String ligne = null;
BufferedReader aLire_user = null;
try {
aLire_user = new BufferedReader(new FileReader("C:/o.txt"));

} catch (IOException e) {

e.printStackTrace();
}
do {
try {
ligne = aLire_user.readLine();
//System.out.println(ligne);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (ligne!=null) {
String tab_user[] = ligne.split("");
System.out.println(tab_user[y]);
y++;
}
}while (ligne!=null);
try {
aLire_user.close( );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

mon fichier texte est : ab cd ef gh ij kl
nm ok pl m, kh
Quand j'exécute le programme il ne m'affiche que n
Aidez-moi svp
merci d'avance
Configuration: Windows Vista
Safari 532.0

6 réponses

  1. nark Messages postés 30 Statut Membre 6
     
    Bonjour,

    ton fichier texte comment est il construit : des sauts de ligne? des caractères de ponctuations?
    0
  2. saly
     
    Il est construit par des phrases bon il ya des sauts de ligne et des caractères de ponctuations
    0
  3. nark Messages postés 30 Statut Membre 6
     
    ça serais bien ke tu montre une partie de ton fichier texte pour voir comment l'analyser! Dans ta classe que fournit ci-dessus, tu fais un split de tes lignes sur vide mais les caractères de ponctuations stockés dans le tableau de chaine ne sont pas un incovénient?

    Voila un bout de code simple:

    import java.io.*;
    import java.util.ArrayList;
    
    
    public class Fichier {
    	
    private String path;
    private BufferedReader buff;
    
    	public Fichier(String fic)
    	{
    		this.path = fic;
    	}
    	public void readFile()
    	{
    		String line = "";
    		try{
    			buff = new BufferedReader(new FileReader(this.path));
    			int i =0;
    			while((line = buff.readLine()) != null)
    			{
    				String tab[] = line.split(" ");
    				System.out.println(tab);
    				i++;
    				
    			}
    			buff.close();
    		}
    		catch(IOException e)
    		{
    			e.printStackTrace();
    		}
    	
    	}
    }
    
    0
  4. saly
     
    merci de me répondre
    c'est le contenu de mon fichier texte:

    Agence Nationale de Certification Electronique
    Addresse: Parc Technologique El Ghazala, Route de Raoued - Tunisie
    Tel: +216 70 834 600
    Fax: +216 70 834 555
    E-mail: ance@certification.tn

    Nom:
    Prénom:
    N°CIN:
    Mot de passe: 8ty?3KI8i3R@@NjKy

    Maintenant je cherche à mettre la chaine: 8ty?3KI8i3R@@NjKy ( qui va varier d'un fichier à un autre) dans un variable de type String
    merci d'avance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nark Messages postés 30 Statut Membre 6
     
    Si je comprend bien, tu veux lire tes fichiers et rajouter dans chaque fichier une ligne " mot de passe" (pas très sécuriser dans un fichier!)

    import java.io.*;
    import java.util.ArrayList;
    
    
    public class Fichier {
    	
    private String path;
    private BufferedReader buff;
    private BufferedWriter writ;
    
    	public Fichier(String fic)
    	{
    		this.path = fic;
    	}
    	public void readFile()
    	{
    		ArrayList maList = new ArrayList();
    		String line,data = "";
    		try{
    			buff = new BufferedReader(new FileReader(this.path));
    			while((line = buff.readLine()) != null)
    			{
    				data = data +line+"\r\n";// saut de ligne
    			}
    			String mdp = genererMdp(); // on récupère le mot de passe généré
    			writ = new BufferedWriter(new FileWriter(this.path)); // on créer l'objet file pour écrire dans le même fichier
    
                writ.write(data+"\r\n");// on écrit dans le fichier
    
                writ.write("mot de passe:"+mdp); // on insère dans le fichier le mdp
    			buff.close();
    			writ.close();
    		}
    		catch(IOException e)
    		{
    			e.printStackTrace();
    		}
    	
    	}
           public String genererMdp()
           {
             // génère ton mdp
        	 return null;
            }
    }
    
    0
    1. Saly
       
      slt
      En faite c'est pas exactement ça ce que je cherche à faire
      mon fichier texte est de la forme suivant:

      Agence Nationale de Certification Electronique
      Addresse: Parc Technologique El Ghazala, Route de Raoued - Tunisie
      Tel: +216 70 834 600
      Fax: +216 70 834 555
      E-mail: ance@certification.tn





      Nom:
      Prénom:
      N°CIN:
      Mot de passe:

      à chaque fois que j'exécute mon code, il doit me rendre le mot de passe (la chaine de caractère qui suit le terme "mot de passe" ), je prend un exemple:
      Mot de passe: FDR'6@u5:?y
      je veux avoir une variable passwd==FDR'6@u5:?y
      Que dois-je faire????
      merci d'avance
      0
      1. saly > Saly
         
        slt
        merci bcp nark j'ai trouvé une solution
        0
  7. nark Messages postés 30 Statut Membre 6
     
    impeccable mets ta solu et mets à resolu le post

    a bientôt :-)
    0