Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从URL读取时如何选择缓冲区大小_Java_Arrays_Url_Servlets - Fatal编程技术网

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

Java 从URL读取时如何选择缓冲区大小,java,arrays,url,servlets,Java,Arrays,Url,Servlets,目的:读取包含Json信息的Url 问题:我得到了一个阅读Url的代码,如下所示。我完全理解代码在做什么,但我不知道为什么字符数组的大小是1024而不是2048或其他什么。如何在读取Url时确定什么字符大小的数组是好的 private static String readUrl(String urlString) throws Exception { BufferedReader reader = null; try { URL url = new URL(url

目的:读取包含Json信息的Url

问题:我得到了一个阅读Url的代码,如下所示。我完全理解代码在做什么,但我不知道为什么字符数组的大小是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();
    }
}     

由于BufferedReader已经有一个4096个字符的内部缓冲区(取决于实现),并且套接字已经有一个相当大的接收缓冲区,因此您选择的值实际上没有多大区别。缓冲返回值随大小呈几何递减。

请正确设置代码格式;p没有理由这是1024,但它不可能是2048。通常,阅读@AliAmiri这个问题不是关于URL字符串的长度。它是关于阅读内容的。显示的代码在循环中使用char[]来读取该内容。@请参阅详细说明它读取的内容取决于URL的长度。@AliAmiri不,不需要。