| IOReader.java |
/*
* $Id: IOReader.java,v 1.11 2010/09/29 17:21:48 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.common.io;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import org.xins.common.MandatoryArgumentChecker;
/**
* Utilities methods to read input streams.
*
* @version $Revision: 1.11 $ $Date: 2010/09/29 17:21:48 $
* @author <a href="mailto:anthony.goubard@japplis.com">Anthony Goubard</a>
*
* @since XINS 2.0.
*/
public final class IOReader {
/**
* Read an InputStream completly and put the content of the input stream in
* a String.
*
* @param inputStream
* the input stream to read, cannot be <code>null</code>.
*
* @return
* the content of the input stream using the default encoding, never <code>null</code>.
*
* @throws IllegalArgumentException
* if <code>inputStream == null</code>.
*
* @throws IOException
* if there are some problems reading the input stream.
*/
public static String readFully(InputStream inputStream) throws IllegalArgumentException, IOException {
MandatoryArgumentChecker.check("inputStream", inputStream);
BufferedReader input = new BufferedReader(new InputStreamReader(inputStream));
StringWriter output = new StringWriter();
char[] buffer = new char[1024];
while (true) {
int length = input.read(buffer);
if (length == -1) break;
output.write(buffer, 0, length);
}
inputStream.close();
input.close();
output.close();
return output.toString();
}
}