Here you can find the source of putString(String str, ByteBuffer bb)
static public ByteBuffer putString(String str, ByteBuffer bb)
//package com.java2s; /******************************************************************************* * Copyright 2007(c) G?nome Qu?bec. All rights reserved. * //from w ww . j a v a2 s. co m * This file is part of GenoByte. * * GenoByte 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 3 * of the License, or (at your option) any later version. * * GenoByte 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 this program. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; public class Main { private static final String STORED_ENCODING = "UTF-8"; static public ByteBuffer putString(String str, ByteBuffer bb) { if (str == null) { throw new NullPointerException("Argument str cannot be null"); } if (bb == null) { throw new NullPointerException("Argument bb cannot be null"); } if (str.length() > 255) { // We use a byte to store the length of the string... throw new IllegalArgumentException("Cannot store string: length greater than 255 characters."); } byte strBytes[]; try { strBytes = str.getBytes(STORED_ENCODING); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } bb.put((byte) strBytes.length); bb.put(strBytes); return bb; } }