Here you can find the source of writeString(String data, int length, OutputStream out)
public static void writeString(String data, int length, OutputStream out) throws IOException
//package com.java2s; //License from project: Apache License import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; public class Main { public static void writeString(String data, int length, OutputStream out) throws IOException { byte[] s = getBytes(data); byte[] b = new byte[length]; System.arraycopy(s, 0, b, 0, s.length); out.write(b, 0, length);/*from w w w . j a v a 2 s. c o m*/ } public static byte[] getBytes(byte[] buffer, int offset) { byte[] b = new byte[buffer.length - offset]; System.arraycopy(buffer, offset, b, 0, buffer.length - offset); return b; } public static byte[] getBytes(byte[] buffer, int offset, int length) { byte[] b = new byte[length]; System.arraycopy(buffer, offset, b, 0, length); return b; } public static byte[] getBytes(int value, byte[] dest) { int lastIndex = dest.length - 1; for (int i = lastIndex; i >= 0; i--) { dest[i] = (byte) (value & 0xff); value = value >> 8; } return dest; } public static byte[] getBytes(long value, byte[] dest) { int lastIndex = dest.length - 1; for (int i = lastIndex; i >= 0; i--) { dest[i] = (byte) (value & 0xff); value = value >> 8; } return dest; } public static byte[] getBytes(String s) { return s.getBytes(); } public static byte[] getBytes(String s, String encoding) throws UnsupportedEncodingException { if (encoding != null) { return s.getBytes(encoding); } return s.getBytes(); } public static void write(byte[] data, OutputStream out) throws IOException { write(data, data.length, out); } public static void write(byte[] data, int length, OutputStream out) throws IOException { out.write(data != null ? data : new byte[length], 0, length); } }