src/org/nutz/lang/Streams.java
public static long write(OutputStream ops, InputStream ins, int bufferSize) throws IOException {
        if (null == ops || null == ins)
            return 0;

        byte[] buf = new byte[bufferSize];
        int len;
        long bytesCount = 0;
        while (-1 != (len = ins.read(buf))) {
            bytesCount += len;
            ops.write(buf, 0, len);
        }
        // 啥都没写，强制触发一下写
        // 这是考虑到 walnut 的输出流实现，比如你写一个空文件
        // 那么输入流就是空的，但是 walnut 的包裹输出流并不知道你写过了
        // 它人你就是打开一个输出流，然后再关上，所以自然不会对内容做改动
        // 所以这里触发一个写，它就知道，喔你要写个空喔。
        if (0 == bytesCount) {
            ops.write(buf, 0, 0);
        }
        ops.flush();
        return bytesCount;
    }
public static long write(OutputStream ops, InputStream ins, int bufferSize) throws IOException {
        if (null == ops || null == ins)
            return 0;

        byte[] buf = new byte[bufferSize];
        int len;
        long bytesCount = 0;
        while (-1 != (len = ins.read(buf))) {
            bytesCount += len;
            ops.write(buf, 0, len);
        }
        // 啥都没写，强制触发一下写
        // 这是考虑到 walnut 的输出流实现，比如你写一个空文件
        // 那么输入流就是空的，但是 walnut 的包裹输出流并不知道你写过了
        // 它人你就是打开一个输出流，然后再关上，所以自然不会对内容做改动
        // 所以这里触发一个写，它就知道，喔你要写个空喔。
        if (0 == bytesCount) {
            ops.write(buf, 0, 0);
        }
        ops.flush();
        return bytesCount;
    }
public static long write ( OutputStream ops , InputStream ins , int bufferSize ) throws IOException { if ( null == ops || null == ins ) return 0 ; byte [ ] buf = new byte [ bufferSize ] ; int len ; long bytesCount = 0 ; while ( - 1 != ( len = ins . read ( buf ) ) ) { bytesCount += len ; ops . write ( buf , 0 , len ) ; } // 啥都没写，强制触发一下写
 // 这是考虑到 walnut 的输出流实现，比如你写一个空文件
 // 那么输入流就是空的，但是 walnut 的包裹输出流并不知道你写过了
 // 它人你就是打开一个输出流，然后再关上，所以自然不会对内容做改动
 // 所以这里触发一个写，它就知道，喔你要写个空喔。
 if ( 0 == bytesCount ) { ops . write ( buf , 0 , 0 ) ; } ops . flush ( ) ; return bytesCount ; }
将输入流写入一个输出流。
<p>
<b style=color:red>注意</b>，它并不会关闭输入/出流

@param ops
输出流
@param ins
输入流
@param bufferSize
缓冲块大小

@return 写入的字节数

@throws IOException
将输入流写入一个输出流。 <p > <b style = color : red > 注意< / b > ，它并不会关闭输入 / 出流