Java - Filtrar documento

 
Vista:

Filtrar documento

Publicado por eddy (1 intervención) el 29/03/2006 18:03:09
Estoy intentando filtar un fichero log .
Necesito que filtre todas las lineas que contengan las cadenas
% (TID:%): %IMAP4% o % (TID:%): %LOGIN% o % (TID:%): %ok% o % (TID:%): %no%
y que me lo deje en otro archivo .
Como podrias realizar esto?
Muchas gracias Saludos
este es lo codigo

import java.io.*;

public class LogExtractor {

public static void main(String[] args) {
try {
if ((args.length < 1) || (args.length > 2)) {
System.out.println("ERROR: Numero de parametros incorrecto en la llamada al programa");
System.out.println(" java LogExtractor input_file.log [output_file.log]");
System.out.println("");
System.out.println(" java LogExtractor c:\\tmp\\L0000002.LOG");
System.out.println(" java LogExtractor c:\\tmp\\L0000002.LOG c:\\tmp\\new_L0000002.LOG");
System.out.println("");
System.exit(-1);
}
String inputFileName = args[0];
String outputFileName = "";
if (args.length > 1)
outputFileName = args[1];
else
outputFileName = inputFileName + "_FILTERED.LOG";
File inputFile = new File(inputFileName);
File outputFile = new File(outputFileName);
outputFile.createNewFile();
BufferedReader in = new BufferedReader(new FileReader(inputFile));
BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));

String line = in.readLine();
while (line != null) {

if (line.contains("(TID:")) {
if (line.contains("IMAP4")) {
out.write(line);
out.newLine();
} else if (line.contains("LOGIN")) {
out.write(line);
out.newLine();
} else if (line.contains("OK")) {
out.write(line);
out.newLine();
} else if (line.contains("NO")) {
out.write(line);
out.newLine();
} else if (line.contains("BAD")) {
out.write(line);
out.newLine();
} else if (line.contains("SELECT")) {
out.write(line);
out.newLine();
} else if (line.contains("EXPUNGE")) {
out.write(line);
out.newLine();
} else if (line.contains("ENVELOPE")) {
out.write(line);
out.newLine();
} else if (line.contains("UID")) {
out.write(line);
out.newLine();
}
}

line = in.readLine();
}
out.close();
in.close();

} catch (FileNotFoundException fnfe) {
System.out.println("ERROR: el fichero no se ha encontrado, compruebe la ruta de los parametros de entrada");
} catch (IOException fnfe) {
System.out.println("ERROR: Error de entrada/salida realizando la operacion");
}
}
}

me sale el error

ERROR: Numero de parametros incorrecto en la llamada al programa
java LogExtractor input_file.log [output_file.log]

java LogExtractor c:\tmp\L0000002.LOG
java LogExtractor c:\tmp\L0000002.LOG c:\tmp\new_L0000002.LOG
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder