Convert byte array to string : Byte Array « File « Java Tutorial






/*
   Copyright (C) 2002 MySQL AB
     This program 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.
     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 General Public License for more details.
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     
 */

import java.io.UnsupportedEncodingException;


/**
 * Various utility methods for converting to/from byte
 * arrays in the platform encoding
 * 
 * @author Mark Matthews
 */
public class StringUtils {

    //~ Instance/static variables .............................................

    private static final int BYTE_RANGE = (1 + Byte.MAX_VALUE)
                                          - Byte.MIN_VALUE;
    private static byte[] allBytes = new byte[BYTE_RANGE];
    private static char[] byteToChars = new char[BYTE_RANGE];

    //~ Initializers ..........................................................

    static {

        for (int i = Byte.MIN_VALUE; i <= Byte.MAX_VALUE; i++) {
            allBytes[i - Byte.MIN_VALUE] = (byte) i;
        }

        String allBytesString = new String(allBytes, 0, 
                                           Byte.MAX_VALUE - Byte.MIN_VALUE);

        for (int i = 0; i < (Byte.MAX_VALUE - Byte.MIN_VALUE); i++) {
            byteToChars[i] = allBytesString.charAt(i);
        }
    }



    /**
     * DOCUMENT ME!
     * 
     * @param buffer DOCUMENT ME!
     * @param startPos DOCUMENT ME!
     * @param length DOCUMENT ME!
     * @return DOCUMENT ME! 
     */
    public static final String toAsciiString3(byte[] buffer, int startPos, 
                                              int length) {

        char[] charArray = new char[length];
        int readpoint = startPos;

        for (int i = 0; i < length; i++) {
            charArray[i] = byteToChars[(int) buffer[readpoint]
                           - Byte.MIN_VALUE];
            readpoint++;
        }

        return new String(charArray);
    }

    /**
     * DOCUMENT ME!
     * 
     * @param buffer DOCUMENT ME!
     * @return DOCUMENT ME! 
     */
    public static final String toAsciiString(byte[] buffer) {

        return toAsciiString3(buffer, 0, buffer.length);
    }

    /**
     * DOCUMENT ME!
     * 
     * @param buffer DOCUMENT ME!
     * @param startPos DOCUMENT ME!
     * @param length DOCUMENT ME!
     * @return DOCUMENT ME! 
     */
    public static final String toAsciiString2(byte[] buffer, int startPos, 
                                              int length) {

        return new String(buffer, startPos, length);
    }

    /**
     * DOCUMENT ME!
     * 
     * @param buffer DOCUMENT ME!
     * @param startPos DOCUMENT ME!
     * @param length DOCUMENT ME!
     * @return DOCUMENT ME! 
     */
    public static final String toAsciiString(byte[] buffer, int startPos, 
                                             int length) {

        StringBuffer result = new StringBuffer();
        int endPoint = startPos + length;

        for (int i = startPos; i < endPoint; i++) {
            result.append(byteToChars[(int) buffer[i] - Byte.MIN_VALUE]);
        }

        return result.toString();
    }
}








11.77.Byte Array
11.77.1.Load file to byte array
11.77.2.Load File as byte array
11.77.3.Convert Byte array to Int
11.77.4.Gets an array of bytes corresponding to the given object
11.77.5.Convert byte array to string
11.77.6.An optimized reader for reading byte streams that only contain 7-bit ASCII characters.
11.77.7.Convert a base16 string into a byte array.
11.77.8.Convert a byte array to a human-readable String for debugging purposes.
11.77.9.Convert the bytes within the specified range of the given byte array into a String
11.77.10.Convert the bytes within the specified range of the given byte array into a signed integer in the given radix
11.77.11.Converts a byte array into a hexadecimal string
11.77.12.Converts a byte array into hexadecimal characters which are written as ASCII to the given output stream.
11.77.13.Decode hex string to a byte array
11.77.14.Encode a byte array to hex string
11.77.15.Get bytes from InputStream
11.77.16.Read and return the entire contents of the supplied file.
11.77.17.Reads bytes available from one InputStream and returns these bytes in a byte array.
11.77.18.Return the specified class. Checks the ThreadContext classloader first, then uses the System classloader.
11.77.19.Translates between byte arrays and strings of "0"s and "1"s.