Пытался прочитать данные из потока, однако кириллические символы никак ни хотел корректно отображаться. Оказалось, что InputStreamReader работает только с типом byte, и для поддержки кодировок используются классы Reader'ы в конструкторе которых можно указать кодировку

package ShildtSpr.Chapter20;


import java.net.*;


import java.io.*;


import java.util.*;


public class HttpURLDemo {


public static void p(){


p("");


}


public static void p(Object s){


System.out.println(s);


}


/**


* @param args


* @throws MalformedURLException


*/


public static void main(String[] args) throws Exception {


// TODO Auto-generated method stub


URL hp = new URL("http://ranter.kz");


HttpURLConnection hpCon = (HttpURLConnection)hp.openConnection();


p("Метод запроса: "+hpCon.getRequestMethod());


p("Код ответа: "+hpCon.getResponseCode());


p("Сообщение ответа: "+hpCon.getResponseMessage());


Map<String, List<String>> hdrMap = hpCon.getHeaderFields();


Set<String> hdrFields = hdrMap.keySet();


p("\nЗдесь следует заголовок");


for(String k:hdrFields)


p(""+k+": "+hdrMap.get(k));


//Создаем класс BufferedReader из InputStreamReader для которого указываем кодировку


BufferedReader f = new BufferedReader(new InputStreamReader(hpCon.getInputStream(), "UTF-8"));


String line;


while((line=f.readLine())!=null){


System.out.println(line);


}


f.close();


}


}

Colored with dumpz.org