简体   繁体   中英

Fetching data from InputStream in java

I am trying to fetch data from InputStream using InputStreamReader and my code is given below.

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;
}

I am facing a problem in understanding, how does result += current statement work. Through my understanding, it seems char current data is being transferred to result , but current is an integer that cast into char, and if current is an integer that cast in char transferring to result . So, how I will be able to extract every line from InputStream as a result prints integer that casted into char not the lines from InputStream.

I know, I am thinking something wrong but I am unable to understand it.

Please help me to understand how this works :)

I think you are looking for

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM