Java ByteBuffer Write writeToChannel(final WritableByteChannel destChannel, final ByteBuffer buffer)

Here you can find the source of writeToChannel(final WritableByteChannel destChannel, final ByteBuffer buffer)

Description

write To Channel

License

Apache License

Declaration

public static void writeToChannel(final WritableByteChannel destChannel, final ByteBuffer buffer) 

Method Source Code

//package com.java2s;
/*/*from  w w  w . j  a v  a2  s .com*/
 * Copyright (c) 2013-2014 mgm technology partners GmbH
 *
 * Licensed 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.
 */

import java.io.IOException;

import java.io.UncheckedIOException;

import java.nio.ByteBuffer;

import java.nio.channels.WritableByteChannel;

public class Main {
    public static void writeToChannel(final WritableByteChannel destChannel, final ByteBuffer buffer) {
        try {
            // write to the destination channel
            destChannel.write(buffer);

            // If partial transfer, shift remainder down so it does not get lost
            // If buffer is empty, this is the same as calling clear()
            buffer.compact();

            // EOF will leave buffer in fill state
            buffer.flip();

            // make sure the buffer is fully drained
            while (buffer.hasRemaining()) {
                destChannel.write(buffer);
            }
        } catch (IOException ex) {
            throw new UncheckedIOException(ex);
        }
    }
}

Related

  1. writeString(String string, ByteBuffer bb)
  2. writeStringArray(ByteBuffer buf, String[] array)
  3. writeStringData(ByteBuffer buff, String s, int len)
  4. writeStringToBuffer(ByteBuffer buffer, String message)
  5. writeTo(ByteBuffer buffer, File file)
  6. writeToChannel(WritableByteChannel chan, ByteBuffer buffer)
  7. writeToChannel(WritableByteChannel dst, ByteBuffer src)
  8. writeToFile(String name, ByteBuffer bb)
  9. writeTs(ByteBuffer is, long ts)