在现有代码中实现JTimer

时间:2018-08-15 12:44:20

标签: java

如何在此代码中实现60秒超时?

此代码打开一个URL,下载纯文本,并将输出作为字符串变量发送。

有效,但有时会挂起,我必须重新开始。

我希望能在60秒后超时并返回检索到的所有数据。

请不要建议使用外部库,例如Apache等。如果我可以自己编辑此代码,那会更好。

public static String readURL( URL url )
{
  try
  {
    // open the url stream, wrap it an a few "readers"
    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
    String s="";
    String line="";

    while ((line = reader.readLine()) != null)
    {
      s=s+"\r\n"+line;
    }

    reader.close();
    return s;
  }catch(Exception e){ StringWriter errors = new StringWriter(); e.printStackTrace(new PrintWriter(errors)); return errors.toString(); }

}//end method

1 个答案:

答案 0 :(得分:-1)

List

以上代码将使线程休眠60秒,在此期间不执行任何操作。

如果要更改连接超时;看Is it possible to read from a InputStream with a timeout?