Read a short string from the buffer. - Java java.nio

Java examples for java.nio:ShortBuffer

Description

Read a short string from the buffer.

Demo Code

/* vim:set softtabstop=3 shiftwidth=3 tabstop=3 expandtab tw=72:
    $Id$//from  w w w.ja v  a  2  s .co  m

    BufferUtil: static methods for reading from a ByteBuffer.
    Copyright (C) 2003  Casey Marshall <rsdio@metastatic.org>

    This file is a part of Jarsync.

    Jarsync is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    Jarsync is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Jarsync; if not, write to the

       Free Software Foundation, Inc.,
       59 Temple Place, Suite 330,
       Boston, MA  02111-1307
       USA  */
//package com.java2s;

import java.nio.BufferUnderflowException;
import java.nio.ByteBuffer;

public class Main {
    /**
     * Read a short string from the buffer.
     *
     * @param in        The input buffer.
     * @param maxLength The maximum number of bytes to read, or 0 if not
     *    limited.
     * @return The string.
     * @throws BufferUnderflowException If there are not enough
     *   bytes available in the buffer.
     */
    public static String getShortString(ByteBuffer in) {
        int l = in.get() & 0xFF;
        byte[] b = new byte[l];
        try {
            in.get(b);
            return new String(b, "ISO-8859-1");
        } catch (BufferUnderflowException bue) {
            in.position(in.position() - 1);
            throw bue;
        } catch (java.io.UnsupportedEncodingException shouldNotHappen) {
        }
        return null;
    }
}

Related Tutorials