java.lang.NumberFormatException-Problem

moritz86

Mitglied
Hallo,

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:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

class CsvConvert {

	public static void main(String arguments[]){
		File file = new File("C:\\Dokumente und Einstellungen\\gollanadmin\\Desktop\\aktuell 20.10\\version100b\\Implicitvaluetest\\data\\byvariablename\\experimentivt.csv");
		int index;
		String datei_inhalt="";
		String[] pos = new String[6];
		try {
			BufferedReader br = new BufferedReader(new FileReader(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 = new FileWriter ("C:\\Dokumente und Einstellungen\\gollanadmin\\Desktop\\aktuell 20.10\\version100b\\Implicitvaluetest\\implicit\\stim\\framesfarben.txt");
			f.write(datei_inhalt);
			f.close();
		} catch (Exception E) {
			E.printStackTrace();
		}
	}

	public CsvConvert() {

	}

}
 
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.
 
Hallo Michael,

nee, die Fehlermeldung ist:

--------------------Configuration: <Default>--------------------
java.lang.NumberFormatException: For input string: "1
Process completed.


Welches Leerzeichen wo ist verantwortlich für den Fehler?
Grüße und Danke!
moritz
 
hallo lectron,


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.

danke und gruß,
moritz
 
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?

gruß
 
Der Code und deine Beschreibung ist absolut nichts sagend. Du wirst schon mehr Informationen preisgeben müssen, damit dir jemand helfen kann.
 

Zurück
Oben