用java从inputstream获取数据

g2ieeal7  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(365)

我正在尝试使用inputstreamreader从inputstream获取数据,下面给出了我的代码。

protected String doInBackground(String... urls) {
    String result = "";
    URL url;
    HttpURLConnection urlConnection = null;

    try {
        url = new URL(urls[0]);
        urlConnection = (HttpURLConnection) url.openConnection();
        InputStream in = urlConnection.getInputStream();
        InputStreamReader reader = new InputStreamReader(in);

        int data = reader.read();
        while (data != -1) {
            char current = (char) data;
            result += current;
            data = reader.read();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return result;
}

我在理解上遇到了一个问题,怎么办 result += current 报表工作。据我所知,似乎 char current 数据正在传输到 result ,但是 current 是一个转换为char的整数,如果 current 转换为字符的整数 result . 所以,我将如何从inputstream中提取每一行,结果打印的是转换成char的整数,而不是inputstream中的行。
我知道,我在想一些不对劲的事情,但我无法理解。
请帮助我了解它是如何工作的:)

ego6inou

ego6inou1#

我想你在找

BufferedReader r = BufferedReader(new InputStreamReader(in));
List<String> lines  = r.readLines();

相关问题