在API 19中为BufferedReader定义InputStreamReader时出错

时间:2014-04-11 13:33:38

标签: android android-4.4-kitkat inputstreamreader

我正在尝试创建一个简单的源代码阅读器,它使用在EditText视图中输入的URL读取和显示网页的源代码,但无法正确初始化InputSteramReader和BufferedReader。在Android 4.4.2上测试以下代码,LogCat显示此错误:

- >> SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度

网址url = null;

url = new URL(et.getText()。toString());

URLConnection conn = url.openConnection();

InputStreamReader isr = new InputStreamReader(conn.getInputStream());

BufferedReader br = new BufferedReader(isr);


连接创建成功,但最后两行导致错误。我已设置了在清单文件中访问互联网的权限,为编辑文本视图使用了不同的输入类型,并尝试定义缓冲区大小,但是没有#39 ;或者工作。请帮助识别此代码中的任何错误。

1 个答案:

答案 0 :(得分:0)

尝试将数据传输到ByteArrayInputStream。我有这个代码像魅力一样工作。 也许还存在编码错误。

InputStream is = responce.getEntity().getContent();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    do {
        int b = is.read();
        if (b == -1)
            break;

        baos.write(b);
    } while (true);

    byte[] data = baos.toByteArray();

    ByteArrayInputStream bais = new ByteArrayInputStream(data);
    InputStreamReader isr = new InputStreamReader(bais, "UTF-8");
    BufferedReader br = new BufferedReader(isr);