陷入reader.readLine()

时间:2013-01-24 16:06:09

标签: java android

  

可能重复:
  Socket gets stuck when doing readLine()

我写了jar库,想在我的android项目中使用它。 这是图书馆的一个重要方法:

private static String convertStreamToString(InputStream is) {
        /* is - it's the inputStream created from server response entity. 
        I use org.apache.http classes to communicate with server. */
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) { // <-- this line
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }

如果我使用我的库来构建java applet并在PC上运行它 - 这段代码很有用。

但是如果我在Android应用程序中使用它并在模拟器或设备上运行它,它有时会在标记线上长时间停留(并非总是!)。因此,在这种情况下会发生SockedTimeoutExceptions。

所以,我想知道原因。如果你能帮助我摆脱这个问题,那将会更加重要。

0 个答案:

没有答案