Creation d'un automate à partir d'un fichier.txt
Bonjour à tous, après avoir fait un projet sur les automates avec eclipse ou j'ai plein de fonction (ajouteEtatSeule, AjouteTransition,determisation, complémentaire..etc..),j'ai réussi a affiché mon automate avec eclipse .
Mon but maintenant c'est d’afficher un automate sur le terminal à partir d'un fichier.
j'ai commencé à faire des trucs mais j'ai du mâle est-ce-quelqu'un peut m'aider svp!
Mon fichier.txt est de la forme:
Code:
1 2 3 4 5 6 7 8 9
| 0,1,2 //les états de l'automate
0 //l'état initiale
1,2 //états finaux
0,a,1 //les transitions
0,b,2
1,a,2
1,b,0
2,a,0
2,b,1 |
Mon fichier lecteur que j'ai commencé:
Code:
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Lecteur {
String fichier;
Lecteur(String f){
this.fichier = f;
}
// c'est le toString() du fichier
public String lecture() {
String chaine = "";
// lecture du fichier texte
try {
InputStream ips = new FileInputStream(this.fichier);
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
while ((ligne = br.readLine()) != null) {
chaine += ligne + "\n";
}
br.close();
} catch (Exception e) {
System.out.println("erreur : " +e.toString());
}
return chaine;
}
public Automate fichierToAutomate(String chaine){
Automate B = new Automate();
// lecture du fichier texte
try {
InputStream ips = new FileInputStream(this.fichier);
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
// la premiere ligne contient les etats (codé )
ligne = br.readLine();
String[] etats = ligne.split(",");
for(int i =0; i<(etats.length); i++){
Etat nouv = new Etat(Integer.parseInt(etats[i]));
B.ajouteEtatSeul(nouv);
}
while ((ligne = br.readLine()) != null) {
chaine += ligne + "\n";
}
br.close();
} catch (Exception e) {
System.out.println("erreur : " +e.toString());
}
return B;
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Entrer le fichier a charger : ");
String fichier = sc.nextLine();
Lecteur l = new Lecteur("/home/netbook/workspace/projetAF4/src/" + fichier);
String chaine = l.lecture();
System.out.println(chaine);
}
} |