Hi,
simples Problem, hoffe ihr findet auch ne einfache Lösung. Ich lese eine Zeile aus einer CSV ein, splitte diese und verteile die Felder an einige Variablen. Soweit so gut. Wenn aber in einem dieser Felder ein Enter gesetzt ist dann splittet er natürlich die nächste Zeile (die ja eigentlich zur vorherigen gehört) und dann kommt ne ArrayIndexOutOfBoundsException. habe mir daraufhin die betreffende Zeile im HexEditor angeschaut und siehe da, am ende der Zeile steht 0A0D was ja das gleiche wie \r\n ist. Ersetzen kann ich diese aber nicht. Ich weiß echt nicht wieso das nicht funktioniert:
habe folgende replacements ausprobiert: \r , \n , \r\n , \012 , \015 , \012\015
keines funktioniert. wenn ich aber whitespaces ("\040") ersetzen will, klappt alles wunderbar. Hat einer von euch vielleicht ne Idee
simples Problem, hoffe ihr findet auch ne einfache Lösung. Ich lese eine Zeile aus einer CSV ein, splitte diese und verteile die Felder an einige Variablen. Soweit so gut. Wenn aber in einem dieser Felder ein Enter gesetzt ist dann splittet er natürlich die nächste Zeile (die ja eigentlich zur vorherigen gehört) und dann kommt ne ArrayIndexOutOfBoundsException. habe mir daraufhin die betreffende Zeile im HexEditor angeschaut und siehe da, am ende der Zeile steht 0A0D was ja das gleiche wie \r\n ist. Ersetzen kann ich diese aber nicht. Ich weiß echt nicht wieso das nicht funktioniert:
Code:
InputStream in = new FileInputStream("Map.csv");
BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
input = br.readLine();
while (input!=null)
{
if(input.compareTo("")!=0)
{
try
{
String[] inputArray =input.split("\\|");
String shortDes = inputArray[3];
//String lineSep=System.getProperty("line.separator");
boolean blabla=shortDes.contains("\r");
shortDescr = shortDescr.replace("[\r\n]","");
System.out.println(blabla);
keines funktioniert. wenn ich aber whitespaces ("\040") ersetzen will, klappt alles wunderbar. Hat einer von euch vielleicht ne Idee