Here you can find the source of swapEndian16(ByteBuffer buf)
public static void swapEndian16(ByteBuffer buf)
//package com.java2s; /* JKTX/*from www .j a v a 2 s . c om*/ * * Copyright (c) 2011 Timon Bijlsma * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License * as published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * This program 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 Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ import java.nio.ByteBuffer; public class Main { public static void swapEndian16(ByteBuffer buf) { int elems = buf.remaining() / 2; for (int n = 0, t = buf.position(); n < elems; n++, t += 2) { short s = buf.getShort(t); s = (short) ((s << 8) | (s >>> 8)); buf.putShort(t, s); } } }