⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serializestring.java

📁 High performance DB query
💻 JAVA
字号:
/* * @(#)$Id: SerializeString.java,v 1.6 2004/07/02 23:59:23 huebsch Exp $ * * Copyright (c) 2001-2004 Regents of the University of California. * All rights reserved. * * This file is distributed under the terms in the attached BERKELEY-LICENSE * file. If you do not find these files, copies can be found by writing to: * Computer Science Division, Database Group, Universite of California, * 617 Soda Hall #1776, Berkeley, CA 94720-1776. Attention: Berkeley License * * Copyright (c) 2003-2004 Intel Corporation. All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE file. * If you do not find these files, copies can be found by writing to: * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, * Berkeley, CA, 94704.  Attention:  Intel License Inquiry. */package util.network.serialization;import java.io.UnsupportedEncodingException;/** * Class SerializeString * */public class SerializeString {    public static final byte NULL_VALUE = -1;    private static void doSerialization(GenericByteBuffer outputBuffer,                                        byte[] theBytes) {        int length = (theBytes == null)                     ? NULL_VALUE                     : theBytes.length;        outputBuffer.putInt(length);        if (theBytes != null) {            outputBuffer.put(theBytes);        }    }    /**     * Method serialize     *     * @param outputBuffer     * @param objString     */    public static void serialize(GenericByteBuffer outputBuffer,                                 String objString) {        byte[] theBytes = null;        if (objString != null) {            theBytes = objString.getBytes();        }        doSerialization(outputBuffer, theBytes);    }    /**     * Method serializeUSASCII     *     * @param outputBuffer     * @param objString     */    public static void serializeUSASCII(GenericByteBuffer outputBuffer,                                        String objString) {        byte[] theBytes = null;        try {            if (objString != null) {                theBytes = objString.getBytes("US-ASCII");            }        } catch (UnsupportedEncodingException exception) {            throw new RuntimeException(                "SerializeString: Unsupported character encoding, US-ASCII");        }        doSerialization(outputBuffer, theBytes);    }    /**     * Method serializeUTF8     *     * @param outputBuffer     * @param objString     */    public static void serializeUTF8(GenericByteBuffer outputBuffer,                                     String objString) {        byte[] theBytes = null;        try {            if (objString != null) {                theBytes = objString.getBytes("UTF-8");            }        } catch (UnsupportedEncodingException exception) {            throw new RuntimeException(                "SerializeString: Unsupported character encoding");        }        doSerialization(outputBuffer, theBytes);    }    /**     * Method serializeUTF16     *     * @param outputBuffer     * @param objString     */    public static void serializeUTF16(GenericByteBuffer outputBuffer,                                      String objString) {        byte[] theBytes = null;        try {            if (objString != null) {                theBytes = objString.getBytes("UTF-16");            }        } catch (UnsupportedEncodingException exception) {            throw new RuntimeException(                "SerializeString: Unsupported character encoding");        }        doSerialization(outputBuffer, theBytes);    }    private static byte[] doDeSerialization(GenericByteBuffer inputBuffer) {        int length = inputBuffer.getInt();        if (length == NULL_VALUE) {            return null;        }        byte[] theBytes = new byte[length];        inputBuffer.get(theBytes, 0, length);        return theBytes;    }    /**     * Method deSerialize     *     * @param inputBuffer     * @return     */    public static String deSerialize(GenericByteBuffer inputBuffer) {        byte[] theBytes = doDeSerialization(inputBuffer);        return (theBytes == null)               ? null               : new String(theBytes);    }    /**     * Method deSerializeUSASCII     *     * @param inputBuffer     * @return     */    public static String deSerializeUSASCII(GenericByteBuffer inputBuffer) {        byte[] theBytes = doDeSerialization(inputBuffer);        try {            return (theBytes == null)                   ? null                   : new String(theBytes, "US-ASCII");        } catch (UnsupportedEncodingException exception) {            throw new RuntimeException(                "SerializeString: Unsupported character encoding, US-ASCII");        }    }    /**     * Method deSerializeUTF8     *     * @param inputBuffer     * @return     */    public static String deSerializeUTF8(GenericByteBuffer inputBuffer) {        byte[] theBytes = doDeSerialization(inputBuffer);        try {            return (theBytes == null)                   ? null                   : new String(theBytes, "UTF-8");        } catch (UnsupportedEncodingException exception) {            throw new RuntimeException(                "SerializeString: Unsupported character encoding, UTF-8");        }    }    /**     * Method deSerializeUTF16     *     * @param inputBuffer     * @return     */    public static String deSerializeUTF16(GenericByteBuffer inputBuffer) {        byte[] theBytes = doDeSerialization(inputBuffer);        try {            return (theBytes == null)                   ? null                   : new String(theBytes, "UTF-16");        } catch (UnsupportedEncodingException exception) {            throw new RuntimeException(                "SerializeString: Unsupported character encoding, UTF-16");        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -