Hallo Leute,
bin neu hier
und stehe von einem Problem dar für das ich noch keine Lösung gefunden habe.
Und zwar Lese ich Zeilenweise eine TXT-Datei, diese wird dann zeilenweise in eine ArrayList<String> gespeichert. Die wie folgt aussieht
Die ArrayList wird dann weiter verarbeitet und zwar wird jede einzelne Zeile in zwei einzelne Strings zerlegt und in eine Map<String, String> hinterlegt damit es zum Schluss so aussieht: keymap=0xF03800 (Adresse) und valuemap=0000202020202020 (Daten) usw.
Hier der Code dazu:
Nun zum Problem, wenn die TXT-Datein so aussieht wie in Zeile 3&4 d.h. nach den Daten keine anderen Zeichen mehr kommen, löscht die substring()-Methode (Zeile 18) die letzten zwei Zeichen (20 20 20 20 20 20 20 20 wird zu 20 20 20 20 20 20 20). Da ich später aus den Daten noch die CRC Berechne wird das Ergebnis deswegen verfälscht.
Da ich bis jetzt noch keine Lösung für dieses Verhalten habe, hoffe ich, das eine von euch mir ein Paar Tipps geben kann wie ich das Problem umgehen kann.
Gruß
der neugirige
PS. war nicht so schnell
bin neu hier
und stehe von einem Problem dar für das ich noch keine Lösung gefunden habe.
Und zwar Lese ich Zeilenweise eine TXT-Datei, diese wird dann zeilenweise in eine ArrayList<String> gespeichert. Die wie folgt aussieht
Java:
Adresse Hex Hex ASCII
$F03800 00 00 20 20 20 20 20 20 ..
$F03808 20 20 20 20 20 20 20 20
$F03810 20 20 20 20 20 20 20 20
$F03850 20 20 00 00 00 00 00 00 ......
$F03858 00 00 00 00 00 00 00 00 ....AB..
$F03860 00 00 00 00 00 00 00 00 .....JK.
$F03868 00 00 00 00 00 00 00 00 ...@.&.
$F03870 00 00 00 00 00 00 31 32 ......12
Die ArrayList wird dann weiter verarbeitet und zwar wird jede einzelne Zeile in zwei einzelne Strings zerlegt und in eine Map<String, String> hinterlegt damit es zum Schluss so aussieht: keymap=0xF03800 (Adresse) und valuemap=0000202020202020 (Daten) usw.
Hier der Code dazu:
Java:
...// TXT-Datei einlesen und in eine ArrayList packen..
for (int i = 0; i < list.size(); i++) {
//System.out.println(list.get(i));
if (list.get(i).toString().startsWith("$"))
// Nur die Zeilen die eine Adresse beinhalten
str = list.get(i).toString();
if (str.indexOf("$") == 0) {
/*
* das ursprüngliche Dollarzeichen "$" wird durch "0x" ersetzt
*/
str2 = (str.substring(0, str.lastIndexOf(" "))).replace("$",
"0x");
keyMap = str2.substring(0, str2.indexOf("\t")).trim();
valueMap = str2.substring(str2.indexOf("\t"));
valueMap = valueMap.trim().replaceAll(" ", "");
txtProtocol.put(keyMap, valueMap);
}
}// end for
Nun zum Problem, wenn die TXT-Datein so aussieht wie in Zeile 3&4 d.h. nach den Daten keine anderen Zeichen mehr kommen, löscht die substring()-Methode (Zeile 18) die letzten zwei Zeichen (20 20 20 20 20 20 20 20 wird zu 20 20 20 20 20 20 20). Da ich später aus den Daten noch die CRC Berechne wird das Ergebnis deswegen verfälscht.
Da ich bis jetzt noch keine Lösung für dieses Verhalten habe, hoffe ich, das eine von euch mir ein Paar Tipps geben kann wie ich das Problem umgehen kann.
Gruß
der neugirige
PS. war nicht so schnell
Zuletzt bearbeitet: