次のコードを使用してページのコンテンツを取得します。
URL url=new URL("http://www.google.com.hk/intl/zh-CN/privacy.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openConnection().getInputStream()));
for(String line=reader.readLine();line!=null;line=reader.readLine()){
System.out.println(line);
}
reader.close();
ページ: http://www.google.com.hk/intl/zh-CN/privacy.html文字セットは「UTF-8」ですが、システムのデフォルトの文字セットは「GBK」であるため、これらのコードは正しく入力できません.
私は知っています、私はInputStreamReaderコンストラクターで文字セット名を書くことができます:
new InputStreamReader(url.openConnection().getInputStream(),"UTF-8")
それは大丈夫ですが、私は知りたいです:
文字セットを検出し、ページ コンテンツを取得する方法は? (2 つのリクエストを送信しないほうがよい)
どのJavaライブラリでもこれを行うことができますか? (ウェブページのコンテンツを取得し、文字セット名を設定する必要はありません)
手伝ってくれてありがとう :)