Problème a affichage (Regex).
Bonjour,
Est-ce que qq peut m'aider avec des regex,
Mon programme chaque fois affiche Date, MAX, Used et les valeurs trouver pour Date....
Alors que je voudrai bien afficher que une seul fois,
Par exemples:
Date MAX Used
2008 284 4
2007 555 4 etc...
Comment il faut faire? Je suis débutante! Merci en avance! :cry:
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 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
|
import java.io.*;
public class parser {
//repertoire contenant les fichiers sources
private static final String dir="MONITOR/";
private static FileOutputStream MyFile;
// constructeur de la classe parser et methode
// l'option try car il se peut que il y aura une exception
public parser(){
try {
MyFile= new FileOutputStream("FINAL");
}
catch (FileNotFoundException e) {
System.err.println("Fichier introuvable !");
}
}
public void parsing(String f){
try
{
BufferedReader b = new BufferedReader(new FileReader(f));
// pour retrouver le nom de la ville si on est dans CatapultC Synthesis et afficher dans FINAL
String c;
// true si on est dans le cas de CatapultC Synthesis
boolean catapult=false;
boolean ville=false;
//je recherche le mot Date
while((c=b.readLine())!=null){
if(c.contains("Date")){
MyFile.write((" Date"+" MAX"+" Used"+"\n").getBytes());
MyFile.write((c.substring(90,109)+" ").getBytes());
}
//si je suis dans catapult alors je regarde
//si le mot LICENSE MAX et used se trouve dans la ligne
//et j'ecrits gras a methode write
if(catapult && ville){
if (c.contains("LICENSE MAX")){
MyFile.write((c.substring(64,67)).getBytes());
MyFile.write((c.substring(63,67)).getBytes());
}
//meme chose avec tous info used + grenoble + catapult
//if (c.contains(" used")){
//MyFile.write((c.substring(63,67)+"\n").getBytes());
//MyFile.write((" "+c.substring(13,20)+"\n").getBytes());
//}
}
if (c.contains("GRENOBLE")){
ville=true;
// System.out.println("Je suis a Grenoble");
}
if(c.contains("NOIDA")||c.contains("CROLLES")){
ville=false;
}
//true si CatapultC Synthesis faux sinon
if(c.contains("CatapultC Synthesis")) {
catapult=true;
}
if(c.contains("Mentor SLEC")||c.contains("Library Builder")||c.contains("SLEC")||c.contains("SYNFORA")){
catapult=false;
}
}
}
catch (FileNotFoundException e1) {
System.err.println("Fichier introuvable !");
e1.printStackTrace();
System.exit(-1);
} catch (IOException e2) {
System.err.println("Problème de lecture !");
System.exit(-1);
}
}
public static void main(String args []) {
//declaration et creation de mon objet de type parser
parser fich=new parser ();
File cour = new File(dir);
File[] fichs = cour.listFiles();
long x = System.currentTimeMillis();
for (int i=0; i<fichs.length;i++){
fich.parsing(dir+fichs[i].getName());
}
x = System.currentTimeMillis() - x;
System.out.println("Temps de traitement: "+x+" ms");
}
} |