# Zeilenende bei InputStream



## di3u (10. Jan 2007)

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:

```
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 (10. Jan 2007)

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.


```
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


----------



## Guest (16. Feb 2007)

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())
> ...


----------

