集册 Java实例教程 将字节从大型(超过2GB)InputStream复制到OutputStream。

将字节从大型(超过2GB)InputStream复制到OutputStream。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

540
将字节从大型(超过2GB)InputStream复制到OutputStream。

/**

 * Licensed to Jasig under one or more contributor license

 * agreements. See the NOTICE file distributed with this work

 * for additional information regarding copyright ownership.

 * Jasig licenses this file to you under the Apache License,

 * Version 2.0 (the "License"); you may not use this file

 * except in compliance with the License. You may obtain a

 * copy of the License at:

 *

 * http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing,

 * software distributed under the License is distributed on

 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

 * KIND, either express or implied. See the License for the

 * specific language governing permissions and limitations

 * under the License.

 */

//package com.nowjava;


import java.io.IOException;
/**
来 自 n o w j a v a . c o m
**/

import java.io.InputStream;

import java.io.OutputStream;


public class Main {

    /**

     * The default buffer size to use.

     */

    private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;


    /**

     * Copy bytes from a large (over 2GB) <code>InputStream</code> to an

     * <code>OutputStream</code>.

     * <p>

     * This method buffers the input internally, so there is no need to use a

     * <code>BufferedInputStream</code>.

     * 

     * @param input  the <code>InputStream</code> to read from

     * @param output  the <code>OutputStream</code> to write to

     * @return the number of bytes copied

     * @throws NullPointerException if the input or output is null

     * @throws IOException if an I/O error occurs

     * @since Commons IO 1.3

     */

    static long copyLarge(InputStream input, OutputStream output)

            throws IOException {

        byte[] buffer = new 
展开阅读全文