ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
1643
1643
EMPFEHLEN
-
03.07.09 16:02 #1
- Registriert seit
- Jun 2009
- Beiträge
- 16
Hallo zusammen,
ich probiere gerade die Qualität der aktuellen WLAN-Verbindung unter Debian (gespeichert in "/proc/net/wireless" in Zeile 3, Zeichen 16 und 17) mittels Java auszulesen und benutze dazu bisher Folgendes:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
BufferedReader br = new BufferedReader(new FileReader("/proc/net/wireless")); String line = null; int i=0; while(i<3) //until line 3 { line = br.readLine(); i++; } char[] quality_ca = new char[4]; line.getChars(15, 15+2, quality_ca, 0); String quality_str = new String(quality_ca); int quality = Integer.valueOf(quality_str).intValue(); //hier ist der Fehler System.out.println(quality);
Ich erhalte als char-Array und als string die korrekten Werte, jedoch wird bei der zweiten Umwandlung (string zu int) eine Exception geworfen, obwohl der String nur "84" lautet. Wenn ich den Wert "84" hardgecoded eingebe, wird keine Exception geworfen. Die Meldung der Exception lautet: "java.lang.NumberFormatException: invalid character at position.."
Wo könnte das Problem liegen?
Vielen Dank schon einmal im Voraus!
datenmuell
-
Hallo datenmuell,
du reservierst in quality_ca Platz für 4 chars, liest dann aber nur 2 ein. Die restlichen zwei Zeichen sind (binär) 0, da du ihnen keinen anderen Wert zuweist. Und an diesen verschluckt sich valueOf dann natürlich.
Das ganze wäre übrigens nicht passiert, wenn du nicht den Umweg über ein char Array gegangen wärst. Verwende doch einfach String.substring, das liefert dir gleich einen String zurück. Ähnliches gilt für Integer.valueOf: wenn du kein Integer-Objekt brauchst, nimm Integer.parseInt, das liefert gleich ein int zurück.
Grüße, Matthias
P.S.: Eine Schleife mit klassischer Zählvariable setzt man in der Regel als for-Schleife um.Geändert von Matthias Reitinger (04.07.09 um 02:32 Uhr)
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
06.07.09 13:34 #3
- Registriert seit
- Jun 2009
- Beiträge
- 16
Danke für die Antwort, funktioniert nun einwandfrei!
Ähnliche Themen
-
array[char]=char?!
Von thomy800 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 06.11.07, 18:09 -
Char Array nach char umwandeln
Von ProgFreak im Forum C/C++Antworten: 11Letzter Beitrag: 01.06.07, 02:00 -
char mit 2D-array
Von Mickeyman im Forum C/C++Antworten: 7Letzter Beitrag: 27.03.06, 11:10 -
WLAN Karte nötig bei "WiFi vorbereitet"?
Von Carndret im Forum HardwareAntworten: 3Letzter Beitrag: 21.12.05, 08:48 -
Ein- und Auslesen in char-Array
Von DeChecka im Forum C/C++Antworten: 10Letzter Beitrag: 29.05.05, 11:36





Zitieren

Login





