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

com.github.powerlibraries.io.helper.byteout.BAPrintWriter Maven / Gradle / Ivy

Go to download

Power Libraries is a small project to collect some repeatedly needed or otherwise useful Java 8 classes in a collection of tiny libraries. IO Power is the first and really tiny library of the Power Libraries. It contains some simple helper method for opening Input- and Outputstreams. The main purpose of IO Power is to make opening streams, readers and writers less cluttered and simple to understand.

The newest version!
package com.github.powerlibraries.io.helper.byteout;

import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
import java.io.Writer;

/**
 * This class represents a normal Writer that wraps a ByteArrayOutputStream. It is a simple
 * helper class that allows you to access the ByteArrayOutputStream specific methods of the underlying
 * ByteArrayOutputStream. Remember to close this writer before accessing the underlying byte array.
 * @author Manuel Hegner
 *
 */
public class BAPrintWriter extends PrintWriter implements ByteArrayWrapper {

	private ByteArrayOutputStream underlyingOutput;

	/**
	 * The constructor of the BufferedByteWriter
	 * @param writer the writer directly underlying this BufferedWriter
	 * @param underlyingOutput the ByteArrayOutputStream that is at the end of this writer/stream chain
	 */
	public BAPrintWriter(Writer writer, ByteArrayOutputStream underlyingOutput) {
		super(writer);
		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 ByteArrayOutputStream getUnderlyingOutput() { return underlyingOutput; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy