私は、SwingWorker
3 つのメソッドを順番に実行することになっている を持っています。メソッド 1 には、 a の while ループが含まれていますBufferedReader
。この while ループは決して終了しBufferedReader
ません。5秒後に何らかのタイマーを使用してループを終了したい。どうすればいいですか?
public class TestWorker extends SwingWorker<Void,Void>{
public TestWorker(){
}
private void doSomething1(){
TelnetClient telnetClient
telnetClient = new TelnetClient();
telnetClient.connect(telnet_IPAddress, telnet_Port);
InputStream telnetInputStream = telnetClient.getInputStream();
try (BufferedReader br = new BufferedReader(new InputStreamReader(telnetInputStream))) {
String line;
while ((line = br.readLine()) != null) {
//Do something
//The bufferedreader is not signaled with an end of a stream. I want to terminate this loop after 5 seconds.
}
} catch (IOException ex) {
}
}
private void doSomething2(){
}
private void doSomething3(){
}
@Override
public Void doInBackground() {
doSomething1();
doSomething2();
doSomething3();
return null;
}
@Override
public void done() {
//Update something on a GUI
}
}