Web からの BufferedReader の読み取りに奇妙な問題があります。
このURLコンテンツは、貼り付けられた Java コードとブラウザーでは異なります。Java を使用してフェッチされたコンテンツでは、最初の要素の結果がブラウザで空になります。そうではありません。
私のコード:
public static void main(String[] args) {
try {
String url = "https://api.freebase.com/api/service/mqlread?queries={\"q1\":{\"query\":[{\"name\":\"Pulp Fiction\",\"*\":null,\"type\":\"/film/film\"}]},\"q3\":{\"query\":[{\"name\":\"Portal\",\"*\":null,\"type\":\"/cvg/computer_videogame\"}]}}";
URL u = new URL(url);
System.out.println(u.toString());
URLConnection urlConn = u.openConnection();
InputStreamReader is = new InputStreamReader(urlConn.getInputStream());
BufferedReader br = new BufferedReader(is);
String line = null;
String data = "";
while ((line = br.readLine()) != null) {
data += line + "\n";
}
br.close();
System.out.println(data);
} catch (Exception ex) {
System.err.println(ex);
}
}
編集:ああ。理解した。URL に空白文字はありません。%20 に置き換えるだけです。