Here you can find the source of encodeString(OutputStream out, String str)
public static void encodeString(OutputStream out, String str) throws IOException
//package com.java2s; /*//ww w . j av a2 s . c o m * Copyright 2009 sirot. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * under the License. */ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; public class Main { public static void encodeString(OutputStream out, String str) throws IOException { encodeBytes(out, str.getBytes("ASCII")); } public static byte[] encodeBytes(byte[] data) { ByteArrayOutputStream out = new ByteArrayOutputStream(); try { encodeInt(out, data.length); out.write(data); } catch (IOException ioe) { throw new Error(ioe); } return out.toByteArray(); } public static void encodeBytes(OutputStream out, byte[] data) throws IOException { encodeInt(out, data.length); out.write(data); } public static byte[] encodeInt(long value) { byte[] tmp = new byte[4]; tmp[0] = (byte) ((value >>> 24) & 0xff); tmp[1] = (byte) ((value >>> 16) & 0xff); tmp[2] = (byte) ((value >>> 8) & 0xff); tmp[3] = (byte) (value & 0xff); return tmp; } public static void encodeInt(OutputStream out, long value) throws IOException { byte[] tmp = new byte[4]; tmp[0] = (byte) ((value >>> 24) & 0xff); tmp[1] = (byte) ((value >>> 16) & 0xff); tmp[2] = (byte) ((value >>> 8) & 0xff); tmp[3] = (byte) (value & 0xff); out.write(tmp); } }