Input/Output Reader: "null" wenn While-Ende

specialize

Bekanntes Mitglied
Grüß euch,

der Reader gibt mir bei meinem Code immer null als letzte Zeile aus wenn ich die while schleife, in welcher er liest, beende:
Thread starten:
Java:
if (i_server == 0 && i_sbutton == 0){
				
				i_sbutton = 1;				
				i_server = 1;
				b10.setText("Shutdown Server");
				ta_s.setText("");
				
			prcb1.directory(new File(currentDir+"\\src\\Data\\System"));
			prc = prcb1.start();			
			th1.start();
			
			l7.setForeground(new Color(0, 150, 50));	
			l7.setText("Server Started");							
			}

Thread:
Java:
BufferedReader in = new BufferedReader(
		new InputStreamReader(prc.getInputStream()));				
		String line="";		
		while (i_server == 1)
		{
			line = in.readLine();
			ta_s.setText(ta_s.getText()+line +"\n");
			ta_s.setCaretPosition(ta_s.getText().length());
		}
		System.out.println("th1 closed");
		in.close();

Thread beenden:
Java:
i_server = 0;
				i_sbutton = 0;								
				
				prc.destroy();
Woran liegt das und wie kann ich das beheben?
 
Zuletzt bearbeitet:
Danke

Habs mit while (in.readLine() != null) probiert allerdings gibt er mir dann nicht mehr alle Zeilen die ausgelesen werden sollen aus.
Was wäre eine andere Lösung?
 
oder einfach :
Java:
 while (i_server == 1)
        {
             line = in.readLine();
            if (in != null){
             ta_s.setText(ta_s.getText()+line +"\n");
             ta_s.setCaretPosition(ta_s.getText().length());
           }
        }
 
Dankeschön
gelöst so:

Java:
 while (i_server == 1)
        {
             line = in.readLine();
            if (line != null){
             ta_s.setText(ta_s.getText()+line +"\n");
             ta_s.setCaretPosition(ta_s.getText().length());
           }
        }

Deins hat auch null ausgegeben Rysa
 
Zuletzt bearbeitet:

Zurück
Oben