Zeilenumbruch ignorieren möglich?

OnDemand

Top Contributor
Hallo zusammen, erstmal ein gesundes neues Jahr allerseits.

Ich habe eine CSV Datei wo in jeder Zeile ein Fahrzeug steht. Leider bekomm ich dich csv so wie sie ist (fehlerhaft) . Es gibt immer mal wieder Zeilen, wo ein Zeilenumbruch drin ist (wie im Bild) die ersten 2 Zeilen, sollten eigentlich auf einer Zeile sein, so wie es der LKW in der 3. Zeile ist.

Hat jemand eine Idee, wie ich dieese ungewollten Zeilenumbrüche ignorieren kann?

Wenn ich die Datei parse und mit
Java:
.split("\",\"");
splitte, klappt das auch, bis auf die besagten Zeilen, mit dem Umbruch da bekomm ich dann eine IndexOutOfBounds, weil ich auf die 5. Stelle im Array zugreifen will.

Habe schon versucht mit
Java:
parts[5].replaceAll("\n", "").replaceAll("\r", "")

aber das bringts auch nicht. Muss diesen doofen Umbruch da irgendwie weg bekommen, alternativ müsste ich das Fahrzeug überspringen, aber wie erkenne ich ob in der Zeile ein Umbruch ist?

Danke euch schon mal!

Edit: Wenn ich die Datei mit OpenOffice öffne, klappt das. OO erkennt das Problem anscheinend und behebt es. Im Notepad++ sieht mandie Misere hingegen
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    9,1 KB · Aufrufe: 23

knilch

Bekanntes Mitglied
Hi,
Wieso die IndexOutOfBounds-Exception auftritt kann aus den wenigen Code-Infos die du gepostet hast, nicht so genau ermittelt werden.
Ich mach mal eine Prognose: (muss aber nicht heissen, dass diese auch zutrifft, aber so ohne code wirds schwierig..)
Du iterierst über alle Zeilen von der csv-Datei . In etwa so:
Java:
while ((strLine = br.readLine()) != null)   {
   // nun mach was mit strLine ; splitt... etc.
}
Dann ermittelst du mit: .split("\",\""); die csv-werte, und machst damit dann etwas...
Hierbei kommt nun, dass ein Teil vom csv-Eintrag in Zeile 704 und wegen dem Zeilenumbruch in Zeile 705 weitergeht. Da du mit parts[5].replaceAll("\n", "").replaceAll("\r", "") den Zeilenumbruch behandeln möchtest, wird hier die IndexOutOfBounds-Exception auftreten, da die Zeile 704 nur 5 csv-Elemente ausgewertet werden. (0-4). Der Rest, d.h. die Zeile 705, der eigentlich auch zum Record der Zeile 704 gehört wird aber als neuer separater Record angesehen und somit hast du mit solchen Records Probleme.
Ich würde einen CSV-Parser von einer bereits bestehenden Librarray nehmen (z.B. https://commons.apache.org/proper/commons-csv/ oder http://opencsv.sourceforge.net/, etc... mit einer Suche nach java csv-parser findest du sicher etwas..) und mit damit die Records der csv-Datei einlesen.
Damit hast du zumindest mal complete Records. Das Problem mit dem Zeilenumbruch kannst du dann so beheben: (ein Beispiel mit commons csv)
Java:
fileReader = new FileReader(fileName);
csvFileParser = new CSVParser(fileReader, csvFileFormat);
List csvRecords = csvFileParser.getRecords();
String str;
for (int i = 1; i < csvRecords.size(); i++) {
    CSVRecord record = (CSVRecord) csvRecords.get(i);
    for (int j = 0; j < record.size(); j++) {
        str = record.get(j).replaceAll("\r\n", "");
        System.out.print(str + " ");
    }
    System.out.println();
}
und noch etwas... Wenn du Zeilenumbrüche entfernen möchtest, verwende:
Java:
STRING.replaceAll("\r", "").replaceAll("\n", "")
oder besser
Java:
STRING.replaceAll("\r\n", "")
und nicht:
Java:
STRING.replaceAll("\n", "").replaceAll("\r", "")
Da Windows Zeilenumbrüche mit "\r\n" bzw. UNIX Zeilenumbrüche mit "\n" macht..
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Input/Output Zeilenumbruch Allgemeine Java-Themen 4
J XML Dokument Zeilenumbruch in den Quellcode einfügen Allgemeine Java-Themen 5
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
J Zeilenumbruch per JAVA_OPTS steuern Allgemeine Java-Themen 1
AssELAss String jeweils nach x Zeichen Zeilenumbruch Allgemeine Java-Themen 1
AssELAss Zeilenumbruch immer nach bestimmtem Zeichen Allgemeine Java-Themen 1
H Zeilenumbruch in Quellcode Allgemeine Java-Themen 4
J Zeilenumbruch - Excel Export HSSF Allgemeine Java-Themen 10
E Zeilenumbruch html Allgemeine Java-Themen 3
E Eclipse automatischen Zeilenumbruch unterbinden Allgemeine Java-Themen 2
K String: alle X Zeichen Zeilenumbruch Allgemeine Java-Themen 3
T Swing JTextAera Zeilenumbruch entfernen Allgemeine Java-Themen 7
C OpenOffice Writer und Zeilenumbruch Allgemeine Java-Themen 4
J Regulärer Ausdruck - Der Punkt und der Zeilenumbruch Allgemeine Java-Themen 6
J Drucken mit drawString() und Zeilenumbruch Allgemeine Java-Themen 3
D JExcelAPI -> Zeilenumbruch? Allgemeine Java-Themen 2
S zeilenumbruch in TextArea Allgemeine Java-Themen 5
C Zeilenumbruch aus JTextArea entfernen Allgemeine Java-Themen 6
B Zeilenumbruch erkennen Allgemeine Java-Themen 22
R automatischer zeilenumbruch Allgemeine Java-Themen 2
R zeilenumbruch Allgemeine Java-Themen 2
K Zeilenumbruch in Eclipse beim Codeformater verhindern Allgemeine Java-Themen 10
S Zeilenumbruch nicht von Java interpretieren Allgemeine Java-Themen 5
B String + Zeilenumbruch nach X-Zeichen Allgemeine Java-Themen 4
G Zeilenumbruch beim BufferedWriter? Allgemeine Java-Themen 3
G Javadoc Zeilenumbruch Allgemeine Java-Themen 2
E Zeilenumbruch in einer Textdatei Allgemeine Java-Themen 2
G Zeilenumbruch Allgemeine Java-Themen 15
B Zeilenumbruch bei Schreiben einer Textdatei Allgemeine Java-Themen 10
G JEditorPane Zeilenumbruch Allgemeine Java-Themen 1
N Zeilenumbruch in String nach jeweils x Zeichen einfügen? Allgemeine Java-Themen 6
G Zeilenumbruch in Subview Allgemeine Java-Themen 2
T - Zeilenumbruch entfernen Allgemeine Java-Themen 2
J Zeilenumbruch löschen Allgemeine Java-Themen 10
K Zeilenumbruch String Allgemeine Java-Themen 3
C Zeilenumbruch bei JTextArea Allgemeine Java-Themen 10
G Mit FileWriter Zeilenumbruch schreiben Allgemeine Java-Themen 8
bummerland Zeilenumbruch aus JTextArea Allgemeine Java-Themen 1
Kirby.exe Regex charakter ignorieren Allgemeine Java-Themen 12
kodela Byte Order Mark (BOM) bei readLine() ignorieren Allgemeine Java-Themen 5
D Strings vergleichen; Komma ignorieren Allgemeine Java-Themen 3
S private ignorieren Allgemeine Java-Themen 7
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
P Copiler soll nicht vorhandene Methoden ignorieren Allgemeine Java-Themen 2
G Subclipse + svn:ignore - Ordner manuel ignorieren? Allgemeine Java-Themen 2
M Unterschiede zwischen Groß- und Kleinschreibung ignorieren Allgemeine Java-Themen 4
berserkerdq2 SceneBuilder GUI erstellt, nun muss ich noch ein Polygon erstellen, ist die Connection möglich? Allgemeine Java-Themen 3
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
B Arrays von Methoden möglich? Allgemeine Java-Themen 44
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
R Java Stream: Ist es möglich, einen stream zusammenzufassen Allgemeine Java-Themen 6
M WSDL: Doppelte Typenames (Keine Verwendung möglich) Allgemeine Java-Themen 5
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
I Eine Anwendung so gut wie möglich beschützen Allgemeine Java-Themen 9
D Java auf Webserver Website möglich Allgemeine Java-Themen 7
I PrinterJob - bestimmtes Druckerfach festlegen möglich? Allgemeine Java-Themen 2
D Eine Forschleife mit Threads abarbeiten um es zu schneller zu machen. Ist das möglich? Allgemeine Java-Themen 20
0 Eingabe nicht möglich... Allgemeine Java-Themen 12
FunnyO KeyEvent.VK_ + int i, ausgeben mit Bot möglich? Allgemeine Java-Themen 2
C Programmierung von Fotoeffekten mit Java möglich? Allgemeine Java-Themen 3
B ist es möglich in java keyboardtöne per MIDI kabel aufzunhemen ? Allgemeine Java-Themen 5
F Mehrfachverebung in Java (möglich)? Allgemeine Java-Themen 4
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4
E Ermitteln einer eindeutigen ID eines Objekts möglich? Allgemeine Java-Themen 17
R Löschen von Files nicht möglich Allgemeine Java-Themen 11
F Frage zu Regex möglich Allgemeine Java-Themen 4
P Code in Methode auslagern möglich? Allgemeine Java-Themen 9
P Datentypen float mit komma statt punkt möglich? Allgemeine Java-Themen 6
DStrohma Swing Nicht möglich für ein JPanel den Fokus zu bekommen? Allgemeine Java-Themen 9
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
GianaSisters Erste Schritte Debuggen im CMD möglich ? Allgemeine Java-Themen 19
C Strings und JSON Objekte so klein wie möglich im Speicher ablegen Allgemeine Java-Themen 5
P RegEx mit HTML Parser für Java möglich? Allgemeine Java-Themen 10
F Screenshot von gewissen Anwendungen nicht möglich Allgemeine Java-Themen 5
K Serialisierung in Properties-Datei möglich? Allgemeine Java-Themen 3
Haave Audio Device Unavailable: Kein gleichzeitiger Zugriff auf Soundsystem möglich Allgemeine Java-Themen 7
B Arraylist.contains(Klasse) möglich? Allgemeine Java-Themen 19
J Objekt selbst ertellen möglich? Allgemeine Java-Themen 6
J DLL ansteuern möglich? Allgemeine Java-Themen 3
D Double to Integer - ist das möglich? Allgemeine Java-Themen 3
U Externe Logiken möglich? Allgemeine Java-Themen 8
K Test-Code in Java-Klassen verstecken (wie mit Precompiler möglich) Allgemeine Java-Themen 10
S Klassenverfolgung möglich? Allgemeine Java-Themen 18
T Zugriff per Reflection o.ä. möglich? Allgemeine Java-Themen 18
D JOptionPane nur 1 Input möglich? Allgemeine Java-Themen 6
D besseres Klassenkonzept möglich? Allgemeine Java-Themen 9
N Werte Von C++ nach Java über den Stream möglich? Allgemeine Java-Themen 8
J Immutable mit Interfaces möglich? Allgemeine Java-Themen 2
F Code vereinfachen möglich? Allgemeine Java-Themen 18
E Attribute in Interfaces möglich? Allgemeine Java-Themen 17
B Chat öffnen nicht möglich ! Allgemeine Java-Themen 5
L Kein Ausführen möglich Allgemeine Java-Themen 3
S Datei aller möglich encodings generieren Allgemeine Java-Themen 2
P Ist das möglich mit Java - wenn Nein wie sonst? Allgemeine Java-Themen 8
M ist "public abstract class * extends" möglich? Allgemeine Java-Themen 2
S drucken unter j2sdk-1.4 möglich; unter jdk1.5 nicht; warum? Allgemeine Java-Themen 4
M 2 verschiedene LookAndFeels in einem Fenster möglich? Allgemeine Java-Themen 6
P Dynamisch casten - möglich? wie? Allgemeine Java-Themen 5
F POI Library - Graphic in Excel inserten möglich? Allgemeine Java-Themen 2
H Vererbung auch ohne erzeugung einer Instanz möglich? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben