BufferedReader

NeulingJava

Mitglied
Hallo liebes Forum.

Ich möchte eine Zeile aus der Tastatur einlesen (Das brauch ich für meinen Client - dieser nutzt einen Web Service) und das funktioniert auch in Eclipse. Aber sobald ich die Ubuntu-Konsole starte und da was einlesen will, hängt die Konsole, als wäre sie in einer Endlosschleife.

Kennt wer das Problem und kann mir weiterhelfen?

Lg
 

kaoZ

Top Contributor
Mit was liest , bzw willst du die eingabe einlesen BufferedReader ? Scanner ?

Konsoleneingaben liest man für gewöhnlich mit einem Scanner ein/aus, ggf hast du diesen nicht wieder geschlossen ??
Code:
sc.close();
??

bzw. laut thread ja dann eher
Code:
br.close();
insofern deine Instanz des Readers von br referenziert wird.
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
poste mal deinen Code , sonst kann man schlecht sehen woran es liegen könnte ^^

Hier mal ein Beispiel für einen Scanner , der funktioniert

Java:
package grundlagen;

import java.util.Scanner;

public class TextScanner {
	
	private String v = "";
	private String n = "";
	private String g = "";

	public TextScanner()
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("Wie ist Ihr vorname ?");
		this.v = sc.nextLine();
		System.out.println("Wie ist Ihr Nachname ?");
		this.n = sc.nextLine();
		System.out.println("Wann sind Sie geboren ?");
		this.g = sc.nextLine();
		sc.close();
		
		System.out.println(v+n+g);
	}
	public static void main(String[]args)
	{
		new TextScanner();
	}
}
 
Zuletzt bearbeitet:

NeulingJava

Mitglied
Danke erstmal. Mich verwundert, dass es nicht geht, weil vor zwei Wochen sollte ich als Aufgabe Sockets programmieren (Also zwischen Server und Client) und da hat das perfekt geklappt. Diesmal handelt es sich um ein WebService(also vom Sinn her nichts überraschendes mehr) und plötzlich kann ich nicht mehr Eingaben einlesen, in der Konsole(In Eclipse klappt alles hervorragend) :bloed:

Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;

import rps.services.ist.RPSService;
import rps.services.ist.RPSServiceService;

public class Client {
	private static int id = 0;
	private static int nochmal = 0;
	
	
	public static void main(String[] args) throws Exception {
		//Connection
		RPSServiceService service = new RPSServiceService();
		RPSService rps = service.getRPSServicePort();
		
		//Create Game
		id = rps.createGame();
		System.out.println("Created game: " + (id+1));
		
		//Play Game
		do{
			for(int i = 0; i < 10; i++){
				Scanner sc = new Scanner(System.in);
				System.out.println("Bitte eine Zahl eingeben: 1 = Rock, 2 = Paper, 3 = Scissors, 4 = Abbruch ");
				int zahl = Integer.parseInt(br1.readLine());
				
				if(zahl == 4){
					break;
				}
				
				System.out.println("Runde:" + (i+1) + "\n" + rps.play(id, zahl));
			}
			
			System.out.println(rps.getGameStatistics(id));
			
			BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
			System.out.println("\nNochmal spielen? 0 für JA und 1 für NEIN: ");
			nochmal = Integer.parseInt(br2.readLine());
			
		}while(nochmal == 0);
		
		
	}
}
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Java:
			BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
			System.out.println("\nNochmal spielen? 0 für JA und 1 für NEIN: ");
			nochmal = Integer.parseInt(br2.readLine());
			
		}while(nochmal == 0);

Daraus werd ich nicht ganz schlau ?!

du hast keine variable "nochmal" aber versuchst diese auf den Wert 0 zu parsen ?
[EDIT]
ich schätze mal darum bleibt dein Programm auch in der endlos Schleife, der Standartwert einer Integer Variable ist immer "0" also ist nochmal , auch wenn es nicht definiert ist immer "0" ergo == Endlosschleife
[/EDIT]
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Du initialisierst eine statische variable "nochmal" mit dem Wert "0", prüfst aber nirgends ob dieser wert durch eine Eingabe evtl auf "1" gesetzt wird, wenn ich mich jetzt nicht verguckt habe, wenn du bei dem Teil des Codes ankommst in dem der Reader zwar die eingabe einliest aber nicht prüft ob der Wert verändert wird, ist der wert also automatisch immernoch "0" :)

da fehlt irgendwie die abfrage ob die eingabe ebend nicht "0" ist ^^
 
Zuletzt bearbeitet:

NeulingJava

Mitglied
Ich bleibe in der Schleife, solange "nochmal == 0" und kurz vor Schleifenende mache ich ja die Eingabe und wenn die Eingabe != 0 ist, dann soll er abbrechen.

Also wie gesagt in Eclipse funktioniert das auch hervorragend. Aber ich versuch mal den Scanner den du gepostet hast umzusetzen.
 

kaoZ

Top Contributor
vergiss das ^^ hab mich verguckt,

das sollte mit BufferedReader aber eigentlich auch funktionieren ....., bleibt er denn an dem Punkt in der Endlosschleife ? oder wie macht sich das bemerkbar, liest er weitere eingaben nicht ein ?
 
Zuletzt bearbeitet:

NeulingJava

Mitglied
Nein er gibt nichts zurück... als ob er immer noch auf eine Eingabe wartet. Und ich bin mir sicher, dass es am Einlesen liegt. ich hab nämlich vorher einige Zufallszahlen generiert und da ist das Programm schön durchgelaufen aber sobald ich eine Eingabe machen muss wartet er unendlich lange :bahnhof:
 

kaoZ

Top Contributor
ich vermute mal du schliesst den Scanner und den Reader weiter unten?

denn bis zu dem Zeitpunkt an dem du per Reader einlesen willst ist der scanner auch noch offen , zumindest in dem Code den du gepostet hast


ggf. liegt es daran das der Scanner zu dem Zeitpunkt an dem du den Reader öffnest immernoch offen ist, hast du mal versucht den ersten scanner vor dem Reader zu schliessen, und dann in der while schleife insofern deine bedingung erfüllt ist einfach einen zweiten scanner zu starten ?
 
Zuletzt bearbeitet:

NeulingJava

Mitglied
Ich hab das br.close(); daweil mal rausgenommen, weil soweit kommt er bei mir leider nicht mal

Nein noch nicht versucht. Das mach ich jetzt mal!
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Hier mal ein kleiner test


bei 1 bleibt beendet er das spiel und schliesst den scanner

bei 0 startet er die schleife von vorne

funktioniert soweit

Java:
package versuche;

import java.util.Scanner;

public class Foo{

	static int nochmal = 0;
	static Scanner sc;
	
public void doSchleife () {
	
	 do
	    {
		 
		 sc = new Scanner(System.in);
	     System.out.println("abbrechen ?");
	     nochmal = Integer.parseInt(sc.nextLine());
	    
	     
	     if(nochmal ==0 ){
	    	 System.out.println("Spiel wurde beendet");
	     }
	     else if(nochmal == 1){
	    	 System.out.println("neues Spiel wird gestartet");
	    	 sc.close();
	     }
	     
	    }
	    while(nochmal == 0);
}
public static void main(String[]args){
	
	new Foo().doSchleife();
}
}

Ausgabe :

Java:
abbrechen ?
0
Spiel wurde beendet
//Scanner ist noch offen und schleife startet erneut
abbrechen ?
1
neues Spiel wird gestartet
//Scanner ist zu und schleife beendet
 
Zuletzt bearbeitet:

NeulingJava

Mitglied
Jetzt habe ich aus Testzwecken ganz nach oben unter main() ...

diese 3 Zeilen eingefügt

Java:
System.out.println("Test");
BufferedReader br3 = new BufferedReader(new InputStreamReader(System.in));
System.out.println(br3.readLine());

Und er gibt mir meine Eingabe nicht aus. Es hängt nach dem ich eine Eingabe mache. Das kann doch gar nicht sein oder?
 

kaoZ

Top Contributor
versuch mal anhand meines beispiels, du musst bei dir aber die ausgabe für 0 / 1 umkehren ^^
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
in deinem Code ist noch nen kleiner fehler ;

Java:
    Scanner sc = new Scanner(System.in);
                System.out.println("Bitte eine Zahl eingeben: 1 = Rock, 2 = Paper, 3 = Scissors, 4 = Abbruch ");
                int zahl = Integer.parseInt(br1.readLine());  // hier hast du noch br1 statt sc geschrieben
 
Zuletzt bearbeitet:

NeulingJava

Mitglied
Ich hab deines jetzt gestartet und das funktioniert auch nicht. Und ich glaub ich weiß wieso. der Prof hat uns ein ant-File mitgegeben, mit dem wir das Programm starten sollen - also einmal "ant server" und dann "ant client" und sobald ich den Client mit "ant client" aufrufe, kommt dieser Schmarrn, wenn ich den Code normal aufrufe funktioniert er !
 

kaoZ

Top Contributor
dann wird es schätzungsweise net am code selber sondern am ant File liegen ^^

weil an sich hab ich den Code ja auch vorher extra getestet, daher kommt ja auch die Ausgabe :)

bei ant.Files kann ich dir allerdings nicht wirklich helfen :noe:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
S Erklärung BufferedReader und InputStreamReader Java Basics - Anfänger-Themen 4
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
M BufferedReader begrenzen Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
O BufferedReader - Endlos Schleife Java Basics - Anfänger-Themen 2
K BufferedReader für IOTools ersetzen? Java Basics - Anfänger-Themen 17
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
S Einlesen BufferedReader Java Basics - Anfänger-Themen 5
D BufferedReader/InputStreamReader/Split Java Basics - Anfänger-Themen 2
M bufferedreader loop stoppen Java Basics - Anfänger-Themen 2
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
J Scanner & BufferedReader Java Basics - Anfänger-Themen 3
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
L 2x BufferedReader in einem Programm Java Basics - Anfänger-Themen 1
K Einlesen einer txt von BufferedReader klappt nicht wie gewünscht Java Basics - Anfänger-Themen 12
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Probleme mit java.io.BufferedReader Java Basics - Anfänger-Themen 6
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
B Input/Output Benutzereingabe mit BufferedReader Java Basics - Anfänger-Themen 7
B Erste Schritte BufferedReader mag nicht so recht Java Basics - Anfänger-Themen 4
B Input/Output Probleme mit BufferedReader Java Basics - Anfänger-Themen 4
J BufferedReader in Integer konvertieren Java Basics - Anfänger-Themen 7
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
P BufferedReader - als String[] speichern ? Java Basics - Anfänger-Themen 5
H Problem mit Regex in Verbindung mit BufferedReader Java Basics - Anfänger-Themen 4
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
G Hilfe bei BufferedReader Java Basics - Anfänger-Themen 4
A Methoden BufferedReader durchzählen dann lesen Java Basics - Anfänger-Themen 11
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
S Erste Schritte Frage bezüglich "BufferedReader" Java Basics - Anfänger-Themen 3
A BufferedReader mit geöffneter Datei Java Basics - Anfänger-Themen 4
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
H BufferedReader Zeilenauslesen & verwenden Java Basics - Anfänger-Themen 4
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
F Eingabe von Ganzen Zahlen oder Strings mit BufferedReader Java Basics - Anfänger-Themen 10
D BufferedReader und .split() Java Basics - Anfänger-Themen 3
C BufferedReader Java Basics - Anfänger-Themen 5
C Datentypen BufferedReader Java Basics - Anfänger-Themen 6
c_sidi90 BufferedReader Benzinverbrauch Java Basics - Anfänger-Themen 7
Antoras Datei laden mit BufferedReader sehr langsam Java Basics - Anfänger-Themen 7
J Bufferedreader nich von anfang an. Java Basics - Anfänger-Themen 14
M Position des BufferedReader Java Basics - Anfänger-Themen 6
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2
U BufferedReader - mark Java Basics - Anfänger-Themen 6
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
MEETyA Zeilenumbrüche fehlen nach BufferedReader Java Basics - Anfänger-Themen 3
S BufferedReader in Methode übergeben Java Basics - Anfänger-Themen 2
C BufferedReader und FileWrite Java Basics - Anfänger-Themen 2
G Frage zu BufferedReader readline() Java Basics - Anfänger-Themen 3
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
K zwei Funktionen, ein BufferedReader? Java Basics - Anfänger-Themen 8
K BufferedReader im Konstruktor // guter Stil ? Java Basics - Anfänger-Themen 2
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
M Problem mit BufferedReader. Java Basics - Anfänger-Themen 10
N Probleme mit dem BufferedReader Seitenquelltext auszulesen Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 5
G Probleme mit BufferedReader Java Basics - Anfänger-Themen 6
E Was ließt der BufferedReader eigentlich ein? Java Basics - Anfänger-Themen 3
N Problem mit BufferedReader und close() Java Basics - Anfänger-Themen 6
T NullPointerException bei BufferedReader Java Basics - Anfänger-Themen 4
G bufferedReader -> String[] Java Basics - Anfänger-Themen 8
J NullPointerException BufferedReader.readLine() Java Basics - Anfänger-Themen 4
S java.io.* BufferedReader to String Java Basics - Anfänger-Themen 12
T BufferedReader oder Prozess, wer hängt sich auf? Java Basics - Anfänger-Themen 6
J bufferedReader liest zu wenig daten ein Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 10
W Bestimmten Pfad im BufferedReader Java Basics - Anfänger-Themen 4
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
K FileReader BufferedReader & Arrays Java Basics - Anfänger-Themen 14
G BufferedReader - split-Methode Java Basics - Anfänger-Themen 6
G Bufferedreader Java Basics - Anfänger-Themen 11
B BufferedReader für Char? Java Basics - Anfänger-Themen 6
K BufferedReader & BufferedWriter Java Basics - Anfänger-Themen 6
G BufferedReader Java Basics - Anfänger-Themen 6
V BufferedReader dann zusammenzählen Java Basics - Anfänger-Themen 3
G Hashset verknüpfen mit BufferedReader Java Basics - Anfänger-Themen 18
S BufferedReader (JFileChooser) Java Basics - Anfänger-Themen 2
P Komisches Verhalten von BufferedReader und readLine() Java Basics - Anfänger-Themen 2
R Probleme mit Bufferedreader Java Basics - Anfänger-Themen 11
R frage zur read()-Methode des BufferedReader Java Basics - Anfänger-Themen 2
M mit BufferedReader Zeile lesen Java Basics - Anfänger-Themen 11
L read() (von bufferedReader) abbrechen Java Basics - Anfänger-Themen 5
L unterbrechen von bufferedReader.read() Java Basics - Anfänger-Themen 4
R BufferedReader <-> InputStream Java Basics - Anfänger-Themen 3
G BufferedReader Java Basics - Anfänger-Themen 18
A BufferedReader Java Basics - Anfänger-Themen 6
C BufferedReader und BufferedWriter im Netzwerk Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben