ich versuche mich gerade in ersten Fingerübungen mit Java und stoße - wie
nicht anders zu erwarten - auf erste Schwierigkeiten. Nach Start eines
kleinen ordnungsgemäß kompilierten Programms erscheint die Fehlermeldung:
"java.io.IOException: Das Handle ist ungültig. ..."
Ich arbeite unter Win XP Home Edition mit JDK 1.4 und dem Editor TextPad.
Was bitte kann ich tun, um diese Hürde zu überwinden?
Vielen Dank
SD
Siegfried Dorau schrieb:
Du könntest z.B. den Code-Schnipsel posten, der den Fehler verursacht!
Ciao,
Ingo
"Bitte a eingeben:
java.io.IOException: Das Handle ist ungültig
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:192)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:404)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:442)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:179)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at Listing0203.main(Listing0203.java:15)
Exception in thread "main"
Prozess beendet mit Exit-Code 1"
Zur Erläuterung: Nach dem betreffenden Programm muß man zwei Zahlen
eingeben, die dann vom Programm addiert werden. Wie schon erwähnt, arbeite
ich mit dem Editor
TextPad, aus dem man auch das kompilierte Programm starten kann.
Java-Programme,
die keine ausdrückliche Eingabe von Daten erfordern, laufen unter dem Editor
einwandfrei.
Ich vermute mal, dass das Problem irgendwie mit den geforderten Eingaben
zusammenhängt. Wahrscheinlich grober Anfängerfehler, auf den ich nicht
komme.
Gruß
SD
Hast Du Probleme beim Lesen? Er wollte ein CODE-Schnipsel haben.
Und Du schickst uns einen StackTrace. Ein Code-Schnipsel sieht
z.B. so aus:
public class HelloWorld
{
public static void main (String[] args) {
System.out.println("Hello world");
System.exit(0);
}
}
Probiers nochmal...
A.G.
Ich persönlich hätte es vielleicht "etwas" anders formuliert als Andree,
aber im Prinzip hat er Recht. ;-)
Ciao,
Ingo
Hallo Andree und Ingo,
ich lerrne dazu und hoffe, dass dies jetzt richtig ist:
/* Listing0203.java */
import java.io.*;
public class Listing0203
{
public static void main(String[] args)
throws IOException
{
int a, b, c;
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Bitte a eingeben: ");
a = Integer.parseInt(din.readLine());
System.out.println("Bitte b eingeben: ");
b = Integer.parseInt(din.readLine());
c = a + b;
System.out.println("a+b="+c);
}
}
Gruß
SD
> import java.io.*;
>
> public class Listing0203
> {
> public static void main(String[] args)
> throws IOException
> {
> int a, b, c;
> BufferedReader din = new BufferedReader(
> new InputStreamReader(System.in));
>
> System.out.println("Bitte a eingeben: ");
> a = Integer.parseInt(din.readLine());
> System.out.println("Bitte b eingeben: ");
> b = Integer.parseInt(din.readLine());
> c = a + b;
> System.out.println("a+b="+c);
> }
> }
Läuft bei mir Einwandfrei. Was für ein OS/Terminal/JVM verwendest Du?
Ciao,
Ingo
Der Source-Code ist soweit prinzipiell korrekt.
(auch wenn er zur NumberFormatException nur so einlädt...)
Was macht man, wenn da steht: 'Bitte a eingeben'?
Ganz einfach: Man gibt 'a' ein...
Naja und c wird nun wirklich nicht gebraucht.
Tja und was Java und Windos XP angeht - da bin ich überfragt.
Offenbar 2 Welten, die nicht zusammen gehören. Und ich werde
mir diese tolle OS ganz sicher nicht installieren.
Also sorry - da kann ich Dir nicht weiter helfen.
A*GibMirWfW3.11Zurueck*G
...und in der englischen Version heisst es dann:
"Press 'a' key"
SCNR,
Ingo
Ja genau oder so in etwa.
Na hey - noch immer keine 'any key Tastatur' gekauft?
Die gibbet jetzt ganz günstig bei ALDI und dann isses
Wurscht, auf welche Taste Du haust - es reagiert eh nur eine.
A.G.
Das würde ich dann aber doch nicht sagen. Sieht ja wohl
eher nach einem Bug im TextPad aus. Oder auf neue TextPad-Version
für XP warten.
A.G.