Java UTF File Write writeUTF8WithLength(OutputStream out, String str)

Here you can find the source of writeUTF8WithLength(OutputStream out, String str)

Description

Writes out a 4 byte integer of the length (in bytes!) of the String, followed by the String (as UTF-8)

License

Apache License

Declaration

public static void writeUTF8WithLength(OutputStream out, String str) throws IOException 

Method Source Code


//package com.java2s;
/*/* w  w w.j  av a  2s . co  m*/
 * 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.
 */

import java.io.IOException;

import java.io.OutputStream;
import java.nio.charset.Charset;

public class Main {
    protected static final Charset UTF8 = Charset.forName("UTF-8");

    /**
     * Writes out a 4 byte integer of the length (in bytes!) of the
     *  String, followed by the String (as UTF-8)
     */
    public static void writeUTF8WithLength(OutputStream out, String str) throws IOException {
        byte[] s = str.getBytes(UTF8);
        writeInt4(out, s.length);
        out.write(s);
    }

    public static void writeInt4(OutputStream out, long v) throws IOException {
        byte[] b4 = new byte[4];
        putInt4(b4, 0, v);
        out.write(b4);
    }

    public static void putInt4(byte[] data, int offset, long v) {
        int i = offset;
        data[i++] = (byte) ((v >>> 0) & 0xFF);
        data[i++] = (byte) ((v >>> 8) & 0xFF);
        data[i++] = (byte) ((v >>> 16) & 0xFF);
        data[i++] = (byte) ((v >>> 24) & 0xFF);
    }
}

Related

  1. writeToFile(String outputFilePath, String generated)
  2. writeUTF8(DataOutput buf, String value)
  3. writeUTF8(final String filePath, final String content)
  4. writeUTF8(OutputStream out, String str)
  5. writeUtf8String(final DataOutputStream out, final String str)