Here you can find the source of saveInt16bit(String filename, int[] intData)
public static void saveInt16bit(String filename, int[] intData)
//package com.java2s; /*/*ww w . j av a 2 s . c o m*/ * Werkzeug * * Copyright (C) 2012 Patrick Kochlik + Dennis Paul * * This library 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; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * {@link http://www.gnu.org/licenses/lgpl.html} * */ import java.io.File; import java.io.FileOutputStream; public class Main { public static void saveInt16bit(String filename, int[] intData) { saveBytes(filename, convertIntArrayToByteArray(intData, 2)); } public static void saveBytes(String filename, byte[] byteData) { try { createPath(filename); FileOutputStream fileOutputStream = new FileOutputStream(filename); fileOutputStream.write(byteData); fileOutputStream.close(); } catch (Exception e) { System.err.println("### ERROR @ Util / problem writing data. " + e.toString()); } } public static byte[] convertIntArrayToByteArray(int[] myIntArray, int bytesPerInt) { /* create a byte array bytesPerFloat times the size of the byte array */ byte[] myByteArray = new byte[myIntArray.length * bytesPerInt]; for (int i = 0; i < myIntArray.length; i++) { byte[] myBytes = convertIntToByteArray(myIntArray[i], bytesPerInt); for (int j = 0; j < bytesPerInt; j++) { myByteArray[i * bytesPerInt + (bytesPerInt - j - 1)] = myBytes[j]; } } return myByteArray; } public static void createPath(String filename) { final File file = new File(filename); final String parent = file.getParent(); if (parent != null) { File unit = new File(parent); if (!unit.exists()) { unit.mkdirs(); } } } public static byte[] convertIntToByteArray(int value, int numberOfBytes) { byte b[] = new byte[numberOfBytes]; int i, shift; for (i = 0, shift = (b.length - 1) * 8; i < b.length; i++, shift -= 8) { b[i] = (byte) (0xFF & (value >> shift)); } return b; } }