【发布时间】:2012-09-25 21:48:47
【问题描述】:
美好的一天。刚刚从objective-c切换到java并尝试将url内容正常读取为字符串。阅读大量帖子,但仍然会产生垃圾。
public class TableMain {
/**
* @param args
*/
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {
URL url = null;
URLConnection urlConn = null;
try {
url = new URL("http://svo.aero/timetable/today/");
} catch (MalformedURLException err) {
err.printStackTrace();
}
try {
urlConn = url.openConnection();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader input = new BufferedReader(new InputStreamReader(
urlConn.getInputStream(), "UTF-8"));
StringBuilder strB = new StringBuilder();
String str;
while (null != (str = input.readLine())) {
strB.append(str).append("\r\n");
System.out.println(str);
}
input.close();
} catch (IOException err) {
err.printStackTrace();
}
}
}
怎么了?我得到了这样的东西
??y??'??)j1???-?q?E?|V??,??zxxDx????t^???5? ??j??k??u?q?j6?^t?????????W??????????~?????????o6/ em>?|?8??{???O????0?M>Z{srs??K???XV??4Z??'??n/??^??4?? ??w+?????e???????[?{/??,??WO????????????.?.?x???????^ ?rax??]?xb??& ??8;?????}???h????H5????v?e?0?????-???? ?g?vN
【问题讨论】:
-
请发布您得到的实际错误/输出。
-
查看对this question 的回复。 This one 和 this one 对于您正在尝试做的事情特别有用。
-
只是为了排除,您的默认字符集是否也设置为 UTF-8?您可以通过
System.out.println(Charset.defaultCharset());进行检查 -
@SuppressWarnings("deprecation"),您应该使用已弃用的方法吗? -
抱歉非常愚蠢的问题,从哪里可以导入 IOUtils - 遇到这个话题之前仍然可以找到它。试过 import org.apache.commons.io.IOUtils.*;