Android ByteArrayOutputStream.write - " int off"争论,是什么

时间:2017-02-27 02:36:01

标签: java android http buffer bytearrayoutputstream

自我解释的标题,什么是Android网站的int,它做了什么,为什么我需要它?我理解来自bytearrayoutputstream.write的第一个和第二个参数,但不是这个

来自android网站的

: 的OutputStream 总结

void write(byte [] b, int off ,int len)

将从偏移量开始的指定字节数组中的len个字节写入此输出流。

示例代码:

public byte[] getUrlBytes(String urlSpec) throws IOException {
    URL url = new URL(urlSpec);
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    try {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        InputStream in = connection.getInputStream();
        if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
            throw new IOException(connection.getResponseMessage() +
                    ": with " +
                    urlSpec);
        }
        int bytesRead = 0;
        byte[] buffer = new byte[1024];
        while ((bytesRead = in.read(buffer)) > 0) {
            out.write(buffer, 0, bytesRead);
        }
        out.close();
        return out.toByteArray();
    } finally {
        connection.disconnect();
    }

1 个答案:

答案 0 :(得分:1)

2 * increment_size是" offset"的缩写,表示开始复制的索引。结合off(或"长度"),允许您复制任意子序列而不是整个源数组。例如:

len