[Java] Wczytywanie danych ze strumienia wejścia do tablicy

Odczyt danych ze strumienia wejścia i zapis do tablicy bajtów

package jp.util;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * <p>
 * Metody narzędziowe dla strumieni
 * </p>
 * 
 * @author Jarek Przygódzki
 * 
 */
public class Stream {
	/**
	 * Odczytuje wszystkie dane ze strumienia
	 * 
	 * @param stream
	 *            strumień do odczytu
	 * @param bufSize
	 *            rozmiar bufora odczytu
	 * @return tablica odczytanych bajtów
	 * @throws IOException
	 *             jeśli wyrzuci go strumień <code>stream</code>
	 */
	public static byte[] ReadAll(InputStream stream, int bufSize)
			throws IOException {
		ByteArrayOutputStream bs = new ByteArrayOutputStream(bufSize);
		byte[] buf = new byte[bufSize];
		int len;
		while ((len = stream.read(buf)) > 0) {
			bs.write(buf, 0, len);
		}
		/*
		 * W pełni świadomie nie opróżnieniamy bufora strumienia i nie zamykamy
		 * go. W przypadku ByteArrayOutputStream jest to zbędne.
		 */
		return bs.toByteArray();
	}
}

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s