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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class ExtraireEtat {
String[] laitbrut(String ligne)
{
String []a = ligne.split("\\s+");
return a ;
}
public String write(String contenu,String fichier) { //Fonction écrire dans un fichier
try {
FileWriter fw = new FileWriter (fichier,true);
BufferedWriter bw = new BufferedWriter (fw);
PrintWriter fichierSortie = new PrintWriter (bw);
fichierSortie.write(contenu+"\n");
fichierSortie.flush();
fichierSortie.close();
bw.close();
fw.close();
}
catch (Exception e){
System.out.println(e.toString());
}
return contenu;
}
public String readFile(String fichierIn) { // Fonction lire dans un fichier
String chaine="";
// lecture du fichier texte
try {
InputStream ips = new FileInputStream(fichierIn);
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader lecteurAvecBuffer = null;
String ligne;
lecteurAvecBuffer = new BufferedReader(new FileReader(fichierIn));
String nom = fichierIn.replaceAll("dump" , "");
ligne = lecteurAvecBuffer.readLine();
int comp1=0,comp2=0,comp3=0;
StringBuffer sb= new StringBuffer();
while ((ligne = lecteurAvecBuffer.readLine()) != null) {
String[] tab=laitbrut(ligne);
float col1 = Float.parseFloat(tab[1]);
float col2 = Float.parseFloat(tab[2]);
float col3 = Float.parseFloat(tab[3]);
if (col1 > col2 && col1 > col3){
comp1++;
}
else if (col2 > col1 && col2 > col3){
comp2++;
}
else if (col3 > col2 && col3 > col1){
comp3++;
}
System.err.println("Etat1:"+comp1);
System.err.println("Etat2:"+comp2);
System.err.println("Etat3:"+comp3);
write(comp1+" "+comp2+" "+comp3+" ", "/home/afifa/workspace/Etat/src/dump/"+nom+".txt");
lecteurAvecBuffer.close();
} catch (Exception e) {
System.out.println(e.toString());
}
return chaine;
}
public static void main(String[] args)
{
String debutNom = "ergoHN";
String finNom = ".dump";
ExtraireEtat E=new ExtraireEtat();
File folder = new File("/home/afifa/workspace/Etat/src/dump"); // voilà le chemin est corrigé le dossier"dump" contient tous les fichiers .dump
//File folder = new File("."); // dossier de travail
File[] listOfFiles = folder.listFiles();
int ctrFic = 0; // pour le comptage des fichiers .dump
// et donner le nombre de fichiers .dump traités en fin d'exécution
// ou signaler qu'on n'a pas trouvé de .dump
try
{
for (int i = 0; i < listOfFiles.length; i++)
{ //
if (listOfFiles[i].isFile())
{
String fichierIn = listOfFiles[i].getName();
if( (fichierIn.startsWith(debutNom)) && (fichierIn.endsWith(finNom)) )
{
ctrFic++;
E.readFile(fichierIn); }
}
}
if(ctrFic == 0)
{
System.out.println("Il n'y a pas de fichier dont le nom commence par " + debutNom + "\n"
+ " et termine par " + finNom);
return;
}
else
{
System.out.println("Nous avons traité " + ctrFic + " fichier(s) " + finNom);
}
}
catch(NullPointerException npe)
{
System.out.println("Le dossier " + folder + " n'existe pas.");
}
}
} |