Java BufferedReader自动编码类型

Java BufferedReader自动编码类型,java,inputstream,bufferedreader,Java,Inputstream,Bufferedreader,我正在使用BufferedReader从一个url获取数据 URL url = new URL("http://"); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "windows-1251")); 在某些url上,其编码是windows-1251(cyrilyc),因此我在阅读器中指定了该编码。但在某些数据源上,enconding是不同的,例如KOI8-R有没有不使用naot

我正在使用BufferedReader从一个url获取数据

 URL url = new URL("http://");
 BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "windows-1251"));

在某些url上,其编码是windows-1251(cyrilyc),因此我在阅读器中指定了该编码。但在某些数据源上,enconding是不同的,例如KOI8-R有没有不使用naother reader从两个数据源获取数据的方法?这里我只能使用一个。

不,BufferedReader无法检查内容编码头。你必须提供这些。或者使用库进行编码识别/检测。

如果需要常规编码识别,请尝试。如果您需要更特定于HTTP/HTML的内容,请尝试使用[Jericho HTML解析器]/)及其类。还要确保JVM支持您的编码。