View Single Post
Old 07-07-2009, 10:20   #1
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
[Java] Problema in lettura di un file di testo

Salve a tutti, ho un problema con questo programma in Java:
devo aprire in lettura il seguente file di testo, leggerlo tutto ed estrapolare da esso le intere righe che mi interessano e scriverle su un altro file. Le righe che interessano sono SOLO QUELLE che indicano operazioni svolte dall'amministratore in questo file di Log. Potete darmi una mano? Non capisco perchè non funziona...

Quote:
Tipo,Data,Ora,Origine,Categoria,Evento,Utente,Computer
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.29,Security,Accesso/fine sess. ,538,MAGA02$,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,540,FAR15$,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.24,Security,Accesso/fine sess. ,540,MAGA02$,SERVER
Operazioni riuscite,06/07/2009,12.07.20,Security,Accesso/fine sess. ,538,cbibiani,SERVER


Codice:
import java.io.*;
import java.lang.*;
import java.util.*;

class Log {
public static void main (String args[]) {

int a=1;
char thischar=' ';								//char per la lettura di un singolo carattere
String s=null;								//string per la lettura di una linea 

try {

FileReader f = new FileReader("protezione2.txt");		
BufferedReader fIN = new BufferedReader(f);
FileWriter f2 = new FileWriter("EventLog.txt",true);		
PrintWriter fOUT = new PrintWriter(f2);

s=fIN.readLine();							
System.out.println(s);

do {
while(fIN.read()!=-1){
thischar=(char) fIN.read();	
System.out.print(thischar);
if(thischar=='A') {							//SE il carattere è 'A'
thischar=(char) fIN.read();					//leggi il carattere successivo
if(thischar=='d') {							//SE il carattere successivo è 'd'
thischar=(char) fIN.read();					//leggi il carattere successivo
fOUT.println(s);
}}}
s=fIN.readLine();	
}
while(s!=null);

}
catch(IOException e) {
System.out.println("Si e' verificata un'eccezione "+e.getMessage());
}}}

Ultima modifica di Xizor : 07-07-2009 alle 10:29.
Xizor è offline   Rispondi citando il messaggio o parte di esso