如何使用JAVA inputStream从HTML代码中抓取汉字?

How to grab Chinese characters from HTML code using JAVA inputStream?

我想使用以下方法从网站下载一些数据。

下载英文/数字内容没问题,但抓取时无法生成正确的中文字符中文内容。

String url = "https://hk.finance.yahoo.com/q/ct?s=1928.HK";         
URL yahooUrl = new URL(url);
reader = new BufferedReader(new InputStreamReader(yahooUrl.openStream()));
String line ="";
while((line =reader.readLine()) != null){
    htmlData.append(line);
}
Pattern p = Pattern.compile(
Pattern.quote("<div class=\"title\"><h2>")+ "(.*?)"
                    +Pattern.quote("</h2>"));
Matcher match = p.matcher(htmlData.toString());
if(match.find()){
    stockName = match.group(1);
}

有人知道如何使用 Java 输入流从互联网上获取其他语言的内容吗?

在您的情况下,您没有为 InputStreamReader 指定字符编码,因此接受平台的默认字符集。要阅读中文字符,请使用 UTF-8 字符集:

reader = new BufferedReader(new InputStreamReader(yahooUrl.openStream(), "UTF-8"));