Einen schönen Montag morgen zusammen.
Habe heute ein etwas größeres Problem und zwar:
Habe ein kleinens Programm welches mit eine Datei Zeile für Zeile einlesen soll, die Zeilen parsen und dann wieder in einer Datei ausgeben soll:
Meine Mainklasse sieht momentan wie folgt aus: (Mit kleinen Fehlern)
An der Fett markierten Stelle denke ich, ist der Fehler. Komme da aber nicht klar.
Die Source muss ich noch irgendwie übergeben. Kann man das in dem Funktionsaufruf machen?
Desweiteren die anderen Klassen, die benötigt werden:
Hier das Bean für die gesplittenten Zeilen:
Mein Problem ist es, dass ich es nicht hinbekomme, die gesplitteten Zeilen in der Datei auszugeben, bzw. hineinzuschreiben.
Vielleicht kann mir wer von euch helfen. Wenn ihr mehr Code benötigt, fragt an, dann schick ich euch alles was ich habe.
Vielen Dank
Gruß Hunin
Habe heute ein etwas größeres Problem und zwar:
Habe ein kleinens Programm welches mit eine Datei Zeile für Zeile einlesen soll, die Zeilen parsen und dann wieder in einer Datei ausgeben soll:
Meine Mainklasse sieht momentan wie folgt aus: (Mit kleinen Fehlern)
Code:
public class TestMain {
public static void main (String[] args){
File source = new File("/apps/kplus_g/interfaces/if-bloomberg2kplus/log/bbgBonds2kplus_20070522");
FileWriter fileStrom;
BufferedWriter puffer;
PrintWriter printStrom;
try{
fileStrom = new FileWriter("/home/lb80460/javatest.txt");
puffer = new BufferedWriter(fileStrom);
printStrom = new PrintWriter(puffer);
printStrom = new PrintWriter(new BufferedWriter(new FileWriter("/home/lb80460/javatest.txt")));
[b]printStrom.println(PytafLogParser.parse());[/b]
printStrom.close();
}
catch(IOException e){
System.out.println("Fehler!");
}
}
}
An der Fett markierten Stelle denke ich, ist der Fehler. Komme da aber nicht klar.
Die Source muss ich noch irgendwie übergeben. Kann man das in dem Funktionsaufruf machen?
Desweiteren die anderen Klassen, die benötigt werden:
Code:
public class PytafLogParser implements LogParserInterface {
/** Creates a new instance of PytafLogParser */
public PytafLogParser() {
}
private String filename;
private ArrayList<LogMessage> messages;
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public ArrayList<LogMessage> getParsedMessages(){
return messages;
}
public void addFilter() {
return;
}
public void removeFilter(){
return;
}
public boolean parse(){
List list = new LinkedList();
list = new ArrayList();
try {
BufferedReader in = new BufferedReader(new FileReader(filename));
String str;
while ((str = in.readLine()) != null) {
LogMessage msg = parseLine(str);
//if filter(msg) list.add(msg);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
private LogMessage parseLine(String str) {
LogMessage msg = new LogMessage();
String date = str.substring(1, 10);
String time = str.substring(12, 19);
String message = str.substring(21);
String[] splitted = message.split( ":" );
String threadname = splitted[0];
String logLevel = splitted[1];
String messageData = splitted[2];
msg.setMsgDate(date);
msg.setMsgTime(time);
msg.setThreadName(threadname);
msg.setLogLevel(logLevel);
msg.setMsgData(messageData);
return msg;
}
}
Hier das Bean für die gesplittenten Zeilen:
Code:
public class LogMessage {
/** Creates a new instance of LogMessage */
public LogMessage() {
}
private String MsgTime;
private String MsgDate;
private String MsgData;
private String MsgName;
private String ThreadName;
private String LogLevel;
public String getMsgTime() {
return MsgTime;
}
public void setMsgTime(String MsgTime) {
this.MsgTime = MsgTime;
}
public String getMsgDate() {
return MsgDate;
}
public void setMsgDate(String MsgDate) {
this.MsgDate = MsgDate;
}
public String getMsgData() {
return MsgData;
}
public void setMsgData(String MsgData) {
this.MsgData = MsgData;
}
public String getMsgName() {
return MsgName;
}
public void setMsgName(String MsgName) {
this.MsgName = MsgName;
}
public String getThreadName() {
return ThreadName;
}
public void setThreadName(String ThreadName) {
this.ThreadName = ThreadName;
}
public String getLogLevel() {
return LogLevel;
}
public void setLogLevel(String LogLevel) {
this.LogLevel = LogLevel;
}
}
Mein Problem ist es, dass ich es nicht hinbekomme, die gesplitteten Zeilen in der Datei auszugeben, bzw. hineinzuschreiben.
Vielleicht kann mir wer von euch helfen. Wenn ihr mehr Code benötigt, fragt an, dann schick ich euch alles was ich habe.
Vielen Dank
Gruß Hunin