Readline frage

DerKoenig

Mitglied
Moin,

um nicht groß drum rumzureden direkt zu meinem Problem: ich nutze eine Java Bibliothek (kommerziell). Deshalb habe ich die Sourcen dazu nicht. Allerdings an einer Stelle, an der eine der genutzen Klassen eine eingabe per readLine erwartet, möchte ich das Tool automatisieren. Da ich den Code nicht habe ist es für mich nicht so einfach.

Sprich

Klasse A ruft Klasse B auf
Von Klasse B habe ich nicht die Sourcen
Klasse B wartet per readline auf eine Eingabe

Klasse A soll diese Eingabe tätigen, so dass kein user nötig ist. Ist dies möglich?
 
Hi.

Soll das heißen, dass Klasse B von System.in liest?

Den InputStream kannst du ja mit System.setIn umbiegen und einfach die gewünschte Eingabe dort bereitstellen:
Java:
InputStream oldIn = System.in;
System.setIn(...);
B.blub();
System.setIn(oldIn);
Gruß
 
Moin,
ja so wie es aussieht liest er von System.in.

Also wenn ich mir den alten wegsicher, ok und dann?

Ich mein, b.blub wäre dann mein Aufruf wennn ich dich richtig verstehe. Im Aufruf fragt er nun und wartet mit readline auf eine Eingabe... jetzt müsste ich per eingabe (tastatur) sagen xy

Sorry deepthroat hab es noch nicht ganz gecheckt ;) (dein nick ist übrigens nice :-D)
 
Moin,
ja so wie es aussieht liest er von System.in.

Also wenn ich mir den alten wegsicher, ok und dann?

Ich mein, b.blub wäre dann mein Aufruf wennn ich dich richtig verstehe. Im Aufruf fragt er nun und wartet mit readline auf eine Eingabe... jetzt müsste ich per eingabe (tastatur) sagen xy
Nein, nicht per Tastatur. Du mußt einen eigenen InputStream implementieren, der dann in der read() Methode die gewünschte Information bereitstellt:
Java:
        System.setIn(new InputStream() {
                String input = "Hallo, Welt.\n";
                int pos = 0;

                @Override
                public int read() {
                    if (pos >= input.length()) return -1;
                    else return input.charAt(pos++);
                }
            });
Gruß
(dein nick ist übrigens nice :-D)
;-)
 
Zuletzt bearbeitet:
Danke ;-) war wohl schon in "chill-Stimmung" hatte es heute morgen auch schon selbst hinbekommen ^^ als ich mir deine Antwort noch einmal angeschaut habe. Dennoch perfekt. Dafr nen Danke von mir.

Gruß
 
Zurück