我正在尝试创建一个简单的源代码阅读器,它使用在EditText视图中输入的URL读取和显示网页的源代码,但无法正确初始化InputSteramReader和BufferedReader。在Android 4.4.2上测试以下代码,LogCat显示此错误:
网址url = null;
url = new URL(et.getText()。toString());
URLConnection conn = url.openConnection();
InputStreamReader isr = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(isr);
连接创建成功,但最后两行导致错误。我已设置了在清单文件中访问互联网的权限,为编辑文本视图使用了不同的输入类型,并尝试定义缓冲区大小,但是没有#39 ;或者工作。请帮助识别此代码中的任何错误。
答案 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);