Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fehlermeldung: Das Handle ist ungültig

256 views
Skip to first unread message

Siegfried Dorau

unread,
Jan 15, 2003, 4:20:01 AM1/15/03
to
Hallo NG,

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


Ingo R. Homann

unread,
Jan 15, 2003, 4:24:45 AM1/15/03
to
Hi!

Siegfried Dorau schrieb:

Du könntest z.B. den Code-Schnipsel posten, der den Fehler verursacht!

Ciao,
Ingo

Siegfried Dorau

unread,
Jan 15, 2003, 8:56:54 AM1/15/03
to

"Ingo R. Homann" <ingo....@uni-bielefeld.de> schrieb im Newsbeitrag
news:3E2528DD...@uni-bielefeld.de...

> Du könntest z.B. den Code-Schnipsel posten, der den Fehler verursacht!
Hallo Ingo,
hier der Schnipsel:

"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


Andree Große

unread,
Jan 15, 2003, 9:13:55 AM1/15/03
to
Siegfried Dorau wrote:
> "Ingo R. Homann" <ingo....@uni-bielefeld.de> schrieb im Newsbeitrag
> news:3E2528DD...@uni-bielefeld.de...
>
>>Du könntest z.B. den Code-Schnipsel posten, der den Fehler verursacht!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

>
> Hallo Ingo,
> hier der Schnipsel:
>
> "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)


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.


Ingo R. Homann

unread,
Jan 15, 2003, 9:45:25 AM1/15/03
to
Hi Siegfried!

Ich persönlich hätte es vielleicht "etwas" anders formuliert als Andree,
aber im Prinzip hat er Recht. ;-)

Ciao,
Ingo

Siegfried Dorau

unread,
Jan 15, 2003, 11:00:57 AM1/15/03
to

"Ingo R. Homann" <ingo....@uni-bielefeld.de> schrieb im Newsbeitrag
> aber im Prinzip hat er Recht. ;-)

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


Ingo R. Homann

unread,
Jan 15, 2003, 11:12:41 AM1/15/03
to
Hi Siegfried!

> 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

Andree Große

unread,
Jan 15, 2003, 11:49:49 AM1/15/03
to
Siegfried Dorau wrote:
>
> 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);
> }
> }

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

Ingo R. Homann

unread,
Jan 15, 2003, 12:07:49 PM1/15/03
to
> Was macht man, wenn da steht: 'Bitte a eingeben'?
> Ganz einfach: Man gibt 'a' ein...

...und in der englischen Version heisst es dann:

"Press 'a' key"

SCNR,
Ingo

Andree Große

unread,
Jan 15, 2003, 12:13:52 PM1/15/03
to
Ingo R. Homann wrote:
>
> ...und in der englischen Version heisst es dann:
>
> "Press 'a' key"

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.


Siegfried Dorau

unread,
Jan 15, 2003, 1:36:50 PM1/15/03
to

"Ingo R. Homann" <ingo....@uni-bielefeld.de> schrieb im Newsbeitrag
news:3E258879...@uni-bielefeld.de...

> Läuft bei mir Einwandfrei. Was für ein OS/Terminal/JVM verwendest Du?
Hallo Ingo,
ich habe den Fehler jetzt gefunden: In meinem Editor TextPad, den ich
übrigens sehr schätze, gibt es u. a. drei Untermenüs: "Java kompilieren",
"Java-Programm starten" und "Java-Applet starten". Von den wenigen (unter
10), sehr einfachen Programmen, die ich bisher übungshalber Lehrbüchern
entnommen hatte, funktionierten nach der Kompilierung alle, wenn ich sie
unter "Java-Programm starten" aufrief. Das Ergebnis erschien im Editor unter
Windows XP, nicht in einer DOS-Box. Nur wenn das Java-Programm *Eingaben*
erfordert, wie im betreffenden Beispiel, dann läuft zwar die Kompilierung
über den Editor, das Starten über "Java-Programm starten" aber nicht. Da gab
es die besagte Fehlermeldung. Unter cmd.exe (ehemalige DOS-Box) läuft das
Programm einwandfrei.Wie sagt man so schön? Er kam vom Holzweg direkt in die
Sackgasse. Aber ich bin fast schon wieder draußen. Leider typischer
Anfängerfehler.
Vielen Dank für deine Mühe.
SD


Andree Große

unread,
Jan 15, 2003, 6:37:52 PM1/15/03
to
Siegfried Dorau schrieb:
>
> ...
> Leider typischer Anfängerfehler.

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.

0 new messages