wenn ich unten stehendes ausführe, sagt mir das Programm: java.lang.NumberFormatException: For input string: "1
Ich habe versucht, mittels ähnlicher Beiträge im Forum das Problem zu lösen und habe es leider nicht schaffen können. Was habe ich falsch gemacht? Wäre super, wenn wer helfen könnte!! Vielen Dank!!!
Moritz
Java:
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;classCsvConvert{publicstaticvoidmain(String arguments[]){File file =newFile("C:\\Dokumente und Einstellungen\\gollanadmin\\Desktop\\aktuell 20.10\\version100b\\Implicitvaluetest\\data\\byvariablename\\experimentivt.csv");int index;String datei_inhalt="";String[] pos =newString[6];try{BufferedReader br =newBufferedReader(newFileReader(file));String legendline = br.readLine().replaceAll("\"","");String[] legend = legendline.split(",");String row = br.readLine();String[] data = row.split(",");for(int i=0; i < data.length; i++){if(i >=7&& i <27){
index =Integer.parseInt(data[i]);
pos[0]=(index ==1)? legend[i]: pos[0];
pos[1]=(index ==2)? legend[i]: pos[1];
pos[2]=(index ==10)? legend[i]: pos[2];
pos[3]=(index ==11)? legend[i]: pos[3];
pos[4]=(index ==19)? legend[i]: pos[4];
pos[5]=(index ==20)? legend[i]: pos[5];}}
br.close();for(int i=0; i < pos.length; i++){
datei_inhalt += pos[i];
datei_inhalt +="\r\n";}System.out.println(datei_inhalt);FileWriter f =newFileWriter("C:\\Dokumente und Einstellungen\\gollanadmin\\Desktop\\aktuell 20.10\\version100b\\Implicitvaluetest\\implicit\\stim\\framesfarben.txt");
f.write(datei_inhalt);
f.close();}catch(ExceptionE){E.printStackTrace();}}publicCsvConvert(){}}
Möglicherweise ist auch der String, den du zu einem int parsen willst (Zeile 21) gar keine Zahl, sondern ein Zeichen, oder eine Zeichengruppe. Prüfe mal per Konsolenausgabe, was vor dem Parsen überhaupt an die parseInt()-Methode übergeben wird.
wie mache ich eine konsolenausgabe? geht das auch mit dem jcreator`? oder sollte ich mir generell ein anderes programm zulegen? ..wenn ja, was kannst du empfehlen.
Achso du meinst die Standard-Konsolenausgabe, alles klar
Sooo ich habe es verbessern können. Nun funktioniert zuminest etwas.
Neues Problem:
Ich möchte 6 Werte aus 6 Zellen einer csv-Datei auslesen und diese untereinandergeschrieben in eine txt-Datei schreiben. Wenn ich
Java:
if(i >=7&& i <27)
in
Java:
if(i >=7&& i <26)
umändere, bekomme ich meine 6 untereinandergeschriebene Werte zwar, aber einer heißt dann nicht mehr so wie er heißen soll, sondern "null". Wie kommt das? Egal wie ich mit dem Bereich 7-26 rumspiele, es klappt nicht. Was soll ich tun?