使用 InputStream 和 OutputStream 复制文件

我们可以使用循环直接将数据从源复制到数据接收器。在这个例子中,我们从 InputStream 读取数据,同时写入 OutputStream。一旦我们完成了阅读和写作,我们就必须关闭资源。

public void copy(InputStream source, OutputStream destination) throws IOException {
    try {
        int c;
        while ((c = source.read()) != -1) {
            destination.write(c);
        }
    } finally {
        if (source != null) {
            source.close();
        }
        if (destination != null) {
            destination.close();
        }
    }
}