Besoin correction code découpage de texte

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. Bonjour,

    ton fichier texte comment est il construit : des sauts de ligne? des caractères de ponctuations?
    1. Il est construit par des phrases bon il ya des sauts de ligne et des caractères de ponctuations
      1. ç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();
        		}
        	
        	}
        }
        
        1. 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
          1. 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;
                    }
            }
            
            1. 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
            2. @Salyslt
              merci bcp nark j'ai trouvé une solution