※ ChatGPTを利用し、要約された質問です(原文:javaプログラミング)
javaプログラミングで文字化けせずに検索結果のxmlを取得する方法
このQ&Aのポイント
javaプログラミングでYahooのWebサービスを利用して、検索結果のxmlを取り出す方法について説明します。
現在のプログラムでは、文字(日本語)が化けてしまう問題がありますが、文字化けせずに取り出す方法を考えています。
コードに修正が必要で、具体的な変更箇所についても解説します。
javaとYahooのWebサービスを利用して、検索結果のxmlを取り出し、
○○.xmlという引数を与えて、結果を書き出そうとしていますが、
以下のプログラムだと文字(日本語)が化けてしまいます。
どうにかして文字化けせず取り出すことはできないでしょうか。
よろしくおねがいします。
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStream;
import java.net.URL;
public class YahooWebServiceExample {
public static void main(String[] args) {
String request = "http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?
appid=web_research&query=%e6%b2%96%e7%b8%84&results=2";
try {
// ファイル出力ストリームを取得(第二引数)
BufferedWriter bw = new BufferedWriter(new FileWriter(args[0]));
URL url = new URL(request);
InputStream in = url.openStream();
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
for (int i = 0; i < len; i++) {
System.out.print((char) buf[i]);
bw.write(buf[i]);
}
}
in.close();
bw.close();
} catch (Exception e) {
System.out.println("Web services request failed");
}
}
}
お礼
おかげさまでうまく文字化けせずに出力させることができました! ありがとうございました!