如何从URL读取时选择缓冲区大小

时间:2014-12-09 07:21:27

标签: java arrays url servlets

目标:阅读包含Json中信息的Url。

问题:我有一个阅读Url的代码,下面给出了。我有一个完整的理解代码正在做什么,但我不知道为什么char数组的大小是1024而不是2048或其他什么。如何在阅读Url时确定哪个字符大小数组是好的?

private static String readUrl(String urlString) throws Exception {
    BufferedReader reader = null;
    try {
        URL url = new URL(urlString);
        reader = new BufferedReader(new InputStreamReader(url.openStream()));
        StringBuffer buffer = new StringBuffer();
        int read;
        char[] chars = new char[1024]; ???   

        while ((read = reader.read(chars)) != -1)
            buffer.append(chars, 0, read); 

        return buffer.toString();
    } finally {
        if (reader != null)
            reader.close();
    }
}     

1 个答案:

答案 0 :(得分:0)

由于BufferedReader已经有一个4096个字符的内部缓冲区,依赖于实现,并且由于套接字已经有一个相当大的接收缓冲区,所以你选择的值真的没什么区别。缓冲的回报随着尺寸的减小而减小。