当前位置: 首页 > 知识库问答 >
问题:

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

佴普松
2023-03-14

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

URL url=null;

url=新url(et.getText()。toString());

URLConnection conn=url。openConnection();

InputStreamReader isr=新的InputStreamReader(conn.getInputStream());

br=new BufferedReader(isr);

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

共有1个答案

公孙琛
2023-03-14

尝试将数据传输到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);
 类似资料:
  • 无效的流头:0000002b at java.io.objectinPutStream.ReadStreamHeader(ObjectinPutStream.java:781)at java.io.objectinPutStream.(ObjectinPutStream.java:278)at servicerEquest.run(servicerEquest.java:24)at java.ut

  • 我不明白InputStream、InputStreamReader和BufferedReader到底是做什么的。它们都有一个read()方法,对于BufferedReader,还有readLine()。为什么我不能只使用InputStream或者只添加inputStreamReader呢?为什么我需要添加BufferedReader?我知道这与效率有关,但我不明白怎么做。 我一直在研究Buffer

  • 本文向大家介绍InputStreamReader和BufferedReader用法及实例讲解,包括了InputStreamReader和BufferedReader用法及实例讲解的使用技巧和注意事项,需要的朋友参考一下 一、BufferedReader类 . 所属类库:          java.lang.Object                java.io.Reader         

  • 关于已回答的问题:Java BufferedReader,将InputStream转换为BufferedReader,Java的BufferedReader和InputStreamReader类之间有什么区别? BufferedReader[BR]和InputStreamReader[ISR]都实现了相同的接口。BR拥有ISR拥有的所有方法以及其他方法,包括非常有用的readLine()方法和不那

  • 问题内容: Java 和类之间有什么区别? 问题答案: BufferedReader是“ InputStreamReader / FileReader”的包装,它在每次调用本机I / O时都缓冲信息。 您可以想象在读取一个字符(或字节)与读取一个大号时的效率差异。一圈(或字节)中的字符数。使用BufferedReader,如果您希望读取单个字符,它将存储内容以填充其缓冲区(如果为空),并且对于进一

  • 有人问我一个关于求两个数之间的公约数的问题。我能够使用“埃拉托色尼筛”找出逻辑方法,我正在运行我的代码。但是我的代码给出了一个意想不到的输出,它能够计算出no。指两个数之间的公约数。对于第一个输入,但对于其余的输入,它以某种方式继续与前一个值“内部循环j”,在该值处,它在第一个测试用例中停止;对于其他测试用例。 逻辑方法-->如果一个素数不。是给定两个NO的因子。然后,我们将检查每一个素数的倍数。