0

我是java新手,我被困在这个功能中:

public String getFromUrl(String url){
    String content = "";
    try{
        URL U = new URL(url);
        URLConnection conn = U.openConnection();
        conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)");
        BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
        String line;
        while((line = reader.readLine()) != null)content += line+"\r\n";
        reader.close();
    }
    catch(Exception e){}
    return content;
}

我总是得到问号而不是 utf-8 符号!我做错了什么?

我读了这篇文章

第一:我不明白为什么要使用字节数组?

第二:如果我写的话,在这种情况下“while循环”应该是什么样子

while((line = reader.readLine()) != null)content = line.getBytes("UTF-8");

我的日食说“局部变量内容可能尚未初始化”

第三:我应该如何将字节数组转换回字符串?

然后我读了这个。我什至没有尝试这篇文章中的方式,因为我正在尝试编写一个模拟浏览器获取和发布请求的函数。似乎我发现了如何使用 URL 类执行它,所以我不想使用任何其他类和方法。

现在我唯一的问题是如何处理 utf-8 内容。

任何帮助!

4

1 回答 1

0

倾倒:

String encoding = conn.getContentEncoding();

如果不为空,您可以将其用于阅读器。

并转储可能捕获的异常。

于 2013-02-22T21:21:11.363 回答