Here you can find the source of toBooleanArray(byte[] byteArray)
public static boolean[] toBooleanArray(byte[] byteArray)
//package com.java2s; /**//ww w. j a va2 s . c o m * Copyright 2007 DFKI GmbH. * All Rights Reserved. Use is subject to license terms. * * This file is part of MARY TTS. * * MARY TTS is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, version 3 of the License. * * 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ public class Main { public static boolean[] toBooleanArray(byte[] byteArray) { if (byteArray == null || byteArray.length < 4) return null; int len = toInt(new byte[] { byteArray[0], byteArray[1], byteArray[2], byteArray[3] }); boolean[] bools = new boolean[len]; for (int i = 0, j = 4, k = 7; i < bools.length; i++) { bools[i] = ((byteArray[j] >> k--) & 0x01) == 1; if (k < 0) { j++; k = 7; } } return bools; } public static int toInt(byte[] byteArray) { if (byteArray == null || byteArray.length != 4) return 0x0; return (int) ((0xff & byteArray[0]) << 24 | (0xff & byteArray[1]) << 16 | (0xff & byteArray[2]) << 8 | (0xff & byteArray[3]) << 0); } }