Zeilenende bei InputStream

Status
Nicht offen für weitere Antworten.

di3u

Mitglied
Tag,

woran erkenne ich eigentlich beim Einlesen einer CSV-Datei wann eine Zeile zuende gelesen wurde und in eine neue "gesprungen" wird?
Für mich heißt das nämlich, dass ich an dieser Stelle ganz gern eine neue Spalte in einer Tabelle erzeugen möchte.

Danke im Voraus!


Code-Auszug:
Code:
FormFile datei = inputForm.getFile();
StringBuffer sb = new StringBuffer();
sb.append("<table><tr>");
      
CSVParser csvParser = new CSVParser(datei.getInputStream());
sb.append("<tr>");
for ( String t; (t = csvParser.nextValue()) != null; ){
        sb.append("<td>"+t+"</td>");
}
sb.append("</tr></table>");


Im Moment würde also alles in der CSV-Datei hintereinander in eine Tabelle geschrieben werden :(
 

MatthiasKnorr

Aktives Mitglied
Hallo di3u,

ein Zeilenumbruch erkennst du an der Zeichenfolge "\r\n" (Windows) oder "\n" (Linux).
Der INT-Wert für "\r" = 13 und "\n" = 10. (InputStream.read())

Dein CSVParser sollte auf diese Zeichen(kette) prüfen und ein entsprechendes Object/String zurückgeben,
auf das du in der FOR-Schleife prüfen kannst.

Code:
FormFile datei = inputForm.getFile(); 
StringBuffer sb = new StringBuffer(); 
sb.append("<table><tr>"); 
      
CSVParser csvParser = new CSVParser(datei.getInputStream()); 
sb.append("<tr>"); 
for ( String t; (t = csvParser.nextValue()) != null; ){ 
        if ("NEWLINE".equals(t))                                      <-------
            sb.append("</tr><tr>");                                   <-------
        sb.append("<td>"+t+"</td>"); 
} 
sb.append("</tr></table>");

Grüße,
Matthias
 
G

Guest

Gast
MatthiasKnorr hat gesagt.:
Hallo di3u,

ein Zeilenumbruch erkennst du an der Zeichenfolge "\r\n" (Windows) oder "\n" (Linux).
Der INT-Wert für "\r" = 13 und "\n" = 10. (InputStream.read())

Dein CSVParser sollte auf diese Zeichen(kette) prüfen und ein entsprechendes Object/String zurückgeben,
auf das du in der FOR-Schleife prüfen kannst.

Code:
FormFile datei = inputForm.getFile(); 
StringBuffer sb = new StringBuffer(); 
sb.append("<table><tr>"); 
      
CSVParser csvParser = new CSVParser(datei.getInputStream()); 
sb.append("<tr>"); 
for ( String t; (t = csvParser.nextValue()) != null; ){ 
        if ("NEWLINE".equals(t))                                      <-------
            sb.append("</tr><tr>");                                   <-------
        sb.append("<td>"+t+"</td>"); 
} 
sb.append("</tr></table>");

Grüße,
Matthias
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Inputstream Probleme Allgemeines EE 11

Ähnliche Java Themen

Neue Themen


Oben