All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.powerlibraries.io.helper.stringout.SBObjectOutputStream Maven / Gradle / Ivy

package com.github.powerlibraries.io.helper.stringout;

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;

/**
 * This class extends an {@link ObjectOutputStream} with the ability to directly access an underlying 
 * {@link ByteArrayOutputStream} and to return a resulting string.
 * 
 * @see DataOutputStream
 * @see SBWrapper
 * @author Manuel Hegner
 */
public class SBObjectOutputStream extends ObjectOutputStream implements SBWrapper {
	
	private StringBuilderOutputStream underlyingOutput;

	public SBObjectOutputStream(OutputStream outputStream, StringBuilderOutputStream underlyingOutput) throws IOException {
		super(outputStream);
		this.underlyingOutput=underlyingOutput;
	}
	
	/**
     * Converts the buffer's contents into a string decoding bytes using the
     * platform's default character set. The length of the new String
     * is a function of the character set, and hence may not be equal to the
     * size of the buffer.
     *
     * 

This method always replaces malformed-input and unmappable-character * sequences with the default replacement string for the platform's * default character set. The {@linkplain java.nio.charset.CharsetDecoder} * class should be used when more control over the decoding process is * required. * * @return String decoded from the buffer's contents. */ @Override public String toString() { return getUnderlyingOutput().toString(); } @Override public StringBuilderOutputStream getUnderlyingOutput() { return underlyingOutput; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy