Source Code : Utility methods for handling streams
Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com.
Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com.
Click Here or search from google with Libraries Name you get jar file related it
Utility methods for handling streams
//The contents of this file are subject to the Mozilla Public License Version 1.1
//(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.mozilla.org/MPL/
//
//Software distributed under the License is distributed on an "AS IS" basis,
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
//for the specific language governing rights and
//limitations under the License.
//
//The Original Code is "The Columba Project"
//
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
//
//All Rights Reserved.
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* Contains utility methods for handling streams.
*/
public class StreamUtils {
private static final int BUFFERSIZE = 8000;
/**
* Copies length bytes from an InputStream to an OutputStream.
*
* @param in
* InputStream from wihch the bytes are to copied.
* @param out
* OutputStream in which the bytes are copied.
* @param length
* The number of bytes to copy
* @return Number of bytes which are copied.
* @throws IOException
* If the streams are unavailable.
*/
public static int streamCopy(InputStream in, OutputStream out, int length)
throws IOException {
byte[] buffer = new byte[BUFFERSIZE];
int read;
int copied = 0;
while ((read = in
.read(buffer, 0, Math.min(BUFFERSIZE, length - copied))) > 0) {
out.write(buffer, 0, read);
copied += read;
}
return copied;
}
/**
* Copies all bytes from an InputStream to an OutputStream. The buffer size
* is set to 8000 bytes.
*
* @param _isInput
* InputStream from wihch the bytes are to copied.
* @param _osOutput
* OutputStream in which the bytes are copied.
* @return Number of bytes which are copied.
* @throws IOException
* If the Streams are unavailable.
*/
public static long streamCopy(InputStream in, OutputStream out)
throws IOException {
byte[] buffer = new byte[BUFFERSIZE];
int read;
long copied = 0;
while ((read = in.read(buffer)) > 0) {
out.write(buffer, 0, read);
copied += read;
}
return copied;
}
/**
* Reads a InputStream of chars into a StringBuffer.
*
* @param in
* the InputStream to read from
* @return the interpreted InputStream
* @throws IOException
*/
public static StringBuffer readCharacterStream(InputStream in)
throws IOException {
StringBuffer result = new StringBuffer(in.available());
int read = in.read();
while (read > 0) {
result.append((char) read);
read = in.read();
}
in.close();
return result;
}
public static byte[] readInByteArray(InputStream in) throws IOException {
byte[] result = new byte[in.available()];
in.read(result);
in.close();
return result;
}
/**
* Copies all bytes from the given InputStream into an internal
* ByteArrayOutputStream and returnes a new InputStream with all bytes from
* the ByteArrayOutputStream. The data are real copied so this method
* "clones" the given Inputstream and returns a new InputStream with same
* data.
*
* @param from
* InputStream from which all data are to copy
* @return a new InputStream with all data from the given InputStream
* @throws IOException
*/
public static InputStream streamClone(InputStream from) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
streamCopy(from, out);
return new ByteArrayInputStream(out.toByteArray());
}
}
Thank with us