Java. Преобразование InputStream в различные кодировки

Пытался прочитать данные из потока, однако кириллические символы никак ни хотел корректно отображаться. Оказалось, что 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

Закладка Постоянная ссылка.