Example usage for java.nio LongBuffer remaining

List of usage examples for java.nio LongBuffer remaining

Introduction

In this page you can find the example usage for java.nio LongBuffer remaining.

Prototype

public final int remaining() 

Source Link

Document

Returns the number of remaining elements in this buffer, that is limit - position .

Usage

From source file:MainClass.java

public static void main(String[] args) {
    File aFile = new File("data.dat");
    FileInputStream inFile = null;

    try {//from w ww.j a v a  2s . c  o m
        inFile = new FileInputStream(aFile);
    } catch (FileNotFoundException e) {
        e.printStackTrace(System.err);
        System.exit(1);
    }

    FileChannel inChannel = inFile.getChannel();
    final int COUNT = 6;
    ByteBuffer buf = ByteBuffer.allocate(8 * COUNT);
    long[] data = new long[COUNT];
    try {
        int pos = 0;
        while (inChannel.read(buf) != -1) {
            try {
                ((ByteBuffer) (buf.flip())).asLongBuffer().get(data);
                pos = data.length;
            } catch (BufferUnderflowException e) {
                LongBuffer longBuf = buf.asLongBuffer();
                pos = longBuf.remaining();
                longBuf.get(data, 0, pos);
            }
            System.out.println();
            for (int i = 0; i < pos; i++) {
                System.out.printf("%10d", data[i]);
            }
            buf.clear();
        }
        System.out.println("\nEOF reached.");
        inFile.close();
    } catch (IOException e) {
        e.printStackTrace(System.err);
        System.exit(1);
    }
}

From source file:ubic.basecode.io.ByteArrayConverter.java

/**
 * @param barray// w  w  w  .j ava2s  .  c  om
 * @return long[] resulting from parse of the bytes.
 */
public long[] byteArrayToLongs(byte[] barray) {
    if (barray == null)
        return null;

    LongBuffer buf = ByteBuffer.wrap(barray).asLongBuffer();
    long[] array = new long[buf.remaining()];
    buf.get(array);

    return array;
}