たとえば2秒より長くかかる場合、JavaのreadLine()メソッドをスキップする簡単な方法はありますか?
これが私がこの質問をしている文脈です:
public void run()
{
boolean looping = true;
while(looping) {
for(int x = 0; x<clientList.size(); x++) {
try {
Comm s = clientList.get(x);
String str = s.recieve();
// code that does something based on the string in the line above
}
// other stuff like catch methods
}
}
}
Commは私が作成したクラスであり、「in」と呼ばれるBufferedReaderを含むreceiveメソッドは次のとおりです。
public String recieve()
{
try { if(active) return in.readLine(); }
catch(Exception e) { System.out.println("Comm Error 2: "+e); }
return "";
}
プログラムが停止し、入力ストリームが何かを読み取るのを待ってから続行することに気づきました。プログラムがループし続ける必要があるので、これは悪いことです(ループすると、他のすべてのクライアントに行き、入力を求めます)。読み取るものがない場合にreadLine()プロセスをスキップする方法はありますか?
また、私はこれをうまく説明していないと確信しているので、混乱している場合は質問してください。