Java OutputStream Write String writeString(ByteArrayOutputStream baos, String s)

Here you can find the source of writeString(ByteArrayOutputStream baos, String s)

Description

write String

License

Open Source License

Declaration

public static void writeString(ByteArrayOutputStream baos, String s) 

Method Source Code

//package com.java2s;
//* Licensed Materials - Property of IBM, Miracle A/S, and            *

import java.io.ByteArrayOutputStream;

import java.io.UnsupportedEncodingException;

public class Main {
    public static void writeString(ByteArrayOutputStream baos, String s) {
        try {//from  w  w  w.  j av a2  s  . c  o m
            writeData(baos, s.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException("Cannot write string", e);
        }
    }

    public static void writeData(ByteArrayOutputStream baos, byte[] data) {
        writeLength(baos, data.length);
        baos.write(data, 0, data.length);
    }

    public static void writeLength(ByteArrayOutputStream baos, int len) {
        if (len < 0) {
            throw new RuntimeException("Invalid length < 0");
        }
        if (len <= 127) {
            //MSB = 0
            baos.write(len);
        } else if (len <= 16383) {
            // MSB = 10
            int lowbyte = len % 64;
            int highbyte = len / 64;
            baos.write(lowbyte + 128);
            baos.write(highbyte);
        } else if (len <= 2097151) {
            // MSB = 110
            int lowbyte = len % 32;
            int midbyte = (len / 32) % 256;
            int highbyte = len / 32 / 256;
            baos.write(lowbyte + 128 + 64);
            baos.write(midbyte);
            baos.write(highbyte);
        } else {
            throw new RuntimeException("Invalid length > 2^21-1");
        }
    }
}

Related

  1. writeString(final OutputStream output, final String s)
  2. writeString(ObjectOutputStream stream, String string)
  3. writeString(OutputStream os, String request, String charsetName)
  4. writeString(OutputStream os, String s)