public void write()

in src/main/java/org/apache/commons/crypto/stream/CryptoOutputStream.java [376:396]


    public void write(final byte[] array, int off, int len) throws IOException {
        checkStream();
        Objects.requireNonNull(array, "array");
        final int arrayLength = array.length;
        if (off < 0 || len < 0 || off > arrayLength || len > arrayLength - off) {
            throw new IndexOutOfBoundsException();
        }

        while (len > 0) {
            final int remaining = inBuffer.remaining();
            if (len < remaining) {
                inBuffer.put(array, off, len);
                len = 0;
            } else {
                inBuffer.put(array, off, remaining);
                off += remaining;
                len -= remaining;
                encrypt();
            }
        }
    }