Methods Summary |
---|
public static void | closeQuietly(java.io.Reader input)Unconditionally close an Reader .
Equivalent to {@link Reader#close()}, except any exceptions will be ignored.
This is typically used in finally blocks.
try {
if (input != null) {
input.close();
}
} catch (IOException ioe) {
// ignore
}
|
public static void | closeQuietly(java.io.Writer output)Unconditionally close a Writer .
Equivalent to {@link Writer#close()}, except any exceptions will be ignored.
This is typically used in finally blocks.
try {
if (output != null) {
output.close();
}
} catch (IOException ioe) {
// ignore
}
|
public static void | closeQuietly(java.io.InputStream input)Unconditionally close an InputStream .
Equivalent to {@link InputStream#close()}, except any exceptions will be ignored.
This is typically used in finally blocks.
try {
if (input != null) {
input.close();
}
} catch (IOException ioe) {
// ignore
}
|
public static void | closeQuietly(java.io.OutputStream output)Unconditionally close an OutputStream .
Equivalent to {@link OutputStream#close()}, except any exceptions will be ignored.
This is typically used in finally blocks.
try {
if (output != null) {
output.close();
}
} catch (IOException ioe) {
// ignore
}
|
public static boolean | contentEquals(java.io.InputStream input1, java.io.InputStream input2)Compare the contents of two Streams to determine if they are equal or
not.
This method buffers the input internally using
BufferedInputStream if they are not already buffered.
if (!(input1 instanceof BufferedInputStream)) {
input1 = new BufferedInputStream(input1);
}
if (!(input2 instanceof BufferedInputStream)) {
input2 = new BufferedInputStream(input2);
}
int ch = input1.read();
while (-1 != ch) {
int ch2 = input2.read();
if (ch != ch2) {
return false;
}
ch = input1.read();
}
int ch2 = input2.read();
return (ch2 == -1);
|
public static boolean | contentEquals(java.io.Reader input1, java.io.Reader input2)Compare the contents of two Readers to determine if they are equal or
not.
This method buffers the input internally using
BufferedReader if they are not already buffered.
if (!(input1 instanceof BufferedReader)) {
input1 = new BufferedReader(input1);
}
if (!(input2 instanceof BufferedReader)) {
input2 = new BufferedReader(input2);
}
int ch = input1.read();
while (-1 != ch) {
int ch2 = input2.read();
if (ch != ch2) {
return false;
}
ch = input1.read();
}
int ch2 = input2.read();
return (ch2 == -1);
|
public static int | copy(java.io.InputStream input, java.io.OutputStream output)Copy bytes from an InputStream to an
OutputStream .
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
Large streams (over 2GB) will return a bytes copied value of
-1 after the copy has completed since the correct
number of bytes cannot be returned as an int. For large streams
use the copyLarge(InputStream, OutputStream) method.
long count = copyLarge(input, output);
if (count > Integer.MAX_VALUE) {
return -1;
}
return (int) count;
|
public static void | copy(java.io.InputStream input, java.io.Writer output)Copy bytes from an InputStream to chars on a
Writer using the default character encoding of the platform.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
This method uses {@link InputStreamReader}.
InputStreamReader in = new InputStreamReader(input);
copy(in, output);
|
public static void | copy(java.io.InputStream input, java.io.Writer output, java.lang.String encoding)Copy bytes from an InputStream to chars on a
Writer using the specified character encoding.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
Character encoding names can be found at
IANA.
This method uses {@link InputStreamReader}.
if (encoding == null) {
copy(input, output);
} else {
InputStreamReader in = new InputStreamReader(input, encoding);
copy(in, output);
}
|
public static int | copy(java.io.Reader input, java.io.Writer output)Copy chars from a Reader to a Writer .
This method buffers the input internally, so there is no need to use a
BufferedReader .
Large streams (over 2GB) will return a chars copied value of
-1 after the copy has completed since the correct
number of chars cannot be returned as an int. For large streams
use the copyLarge(Reader, Writer) method.
long count = copyLarge(input, output);
if (count > Integer.MAX_VALUE) {
return -1;
}
return (int) count;
|
public static void | copy(java.io.Reader input, java.io.OutputStream output)Copy chars from a Reader to bytes on an
OutputStream using the default character encoding of the
platform, and calling flush.
This method buffers the input internally, so there is no need to use a
BufferedReader .
Due to the implementation of OutputStreamWriter, this method performs a
flush.
This method uses {@link OutputStreamWriter}.
OutputStreamWriter out = new OutputStreamWriter(output);
copy(input, out);
// XXX Unless anyone is planning on rewriting OutputStreamWriter, we
// have to flush here.
out.flush();
|
public static void | copy(java.io.Reader input, java.io.OutputStream output, java.lang.String encoding)Copy chars from a Reader to bytes on an
OutputStream using the specified character encoding, and
calling flush.
This method buffers the input internally, so there is no need to use a
BufferedReader .
Character encoding names can be found at
IANA.
Due to the implementation of OutputStreamWriter, this method performs a
flush.
This method uses {@link OutputStreamWriter}.
if (encoding == null) {
copy(input, output);
} else {
OutputStreamWriter out = new OutputStreamWriter(output, encoding);
copy(input, out);
// XXX Unless anyone is planning on rewriting OutputStreamWriter,
// we have to flush here.
out.flush();
}
|
public static long | copyLarge(java.io.InputStream input, java.io.OutputStream output)Copy bytes from a large (over 2GB) InputStream to an
OutputStream .
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
long count = 0;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
return count;
|
public static long | copyLarge(java.io.Reader input, java.io.Writer output)Copy chars from a large (over 2GB) Reader to a Writer .
This method buffers the input internally, so there is no need to use a
BufferedReader .
char[] buffer = new char[DEFAULT_BUFFER_SIZE];
long count = 0;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
return count;
|
public static org.apache.commons.io.LineIterator | lineIterator(java.io.Reader reader)Return an Iterator for the lines in a Reader .
LineIterator holds a reference to the open
Reader specified here. When you have finished with the
iterator you should close the reader to free internal resources.
This can be done by closing the reader directly, or by calling
{@link LineIterator#close()} or {@link LineIterator#closeQuietly(LineIterator)}.
The recommended usage pattern is:
try {
LineIterator it = IOUtils.lineIterator(reader);
while (it.hasNext()) {
String line = it.nextLine();
/// do something with line
}
} finally {
IOUtils.closeQuietly(reader);
}
return new LineIterator(reader);
|
public static org.apache.commons.io.LineIterator | lineIterator(java.io.InputStream input, java.lang.String encoding)Return an Iterator for the lines in an InputStream , using
the character encoding specified (or default encoding if null).
LineIterator holds a reference to the open
InputStream specified here. When you have finished with
the iterator you should close the stream to free internal resources.
This can be done by closing the stream directly, or by calling
{@link LineIterator#close()} or {@link LineIterator#closeQuietly(LineIterator)}.
The recommended usage pattern is:
try {
LineIterator it = IOUtils.lineIterator(stream, "UTF-8");
while (it.hasNext()) {
String line = it.nextLine();
/// do something with line
}
} finally {
IOUtils.closeQuietly(stream);
}
Reader reader = null;
if (encoding == null) {
reader = new InputStreamReader(input);
} else {
reader = new InputStreamReader(input, encoding);
}
return new LineIterator(reader);
|
public static java.util.List | readLines(java.io.InputStream input)Get the contents of an InputStream as a list of Strings,
one entry per line, using the default character encoding of the platform.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
InputStreamReader reader = new InputStreamReader(input);
return readLines(reader);
|
public static java.util.List | readLines(java.io.InputStream input, java.lang.String encoding)Get the contents of an InputStream as a list of Strings,
one entry per line, using the specified character encoding.
Character encoding names can be found at
IANA.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
if (encoding == null) {
return readLines(input);
} else {
InputStreamReader reader = new InputStreamReader(input, encoding);
return readLines(reader);
}
|
public static java.util.List | readLines(java.io.Reader input)Get the contents of a Reader as a list of Strings,
one entry per line.
This method buffers the input internally, so there is no need to use a
BufferedReader .
BufferedReader reader = new BufferedReader(input);
List list = new ArrayList();
String line = reader.readLine();
while (line != null) {
list.add(line);
line = reader.readLine();
}
return list;
|
public static byte[] | toByteArray(java.io.InputStream input)Get the contents of an InputStream as a byte[] .
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
ByteArrayOutputStream output = new ByteArrayOutputStream();
copy(input, output);
return output.toByteArray();
|
public static byte[] | toByteArray(java.io.Reader input)Get the contents of a Reader as a byte[]
using the default character encoding of the platform.
This method buffers the input internally, so there is no need to use a
BufferedReader .
ByteArrayOutputStream output = new ByteArrayOutputStream();
copy(input, output);
return output.toByteArray();
|
public static byte[] | toByteArray(java.io.Reader input, java.lang.String encoding)Get the contents of a Reader as a byte[]
using the specified character encoding.
Character encoding names can be found at
IANA.
This method buffers the input internally, so there is no need to use a
BufferedReader .
ByteArrayOutputStream output = new ByteArrayOutputStream();
copy(input, output, encoding);
return output.toByteArray();
|
public static byte[] | toByteArray(java.lang.String input)Get the contents of a String as a byte[]
using the default character encoding of the platform.
This is the same as {@link String#getBytes()}.
return input.getBytes();
|
public static char[] | toCharArray(java.io.InputStream is)Get the contents of an InputStream as a character array
using the default character encoding of the platform.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
CharArrayWriter output = new CharArrayWriter();
copy(is, output);
return output.toCharArray();
|
public static char[] | toCharArray(java.io.InputStream is, java.lang.String encoding)Get the contents of an InputStream as a character array
using the specified character encoding.
Character encoding names can be found at
IANA.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
CharArrayWriter output = new CharArrayWriter();
copy(is, output, encoding);
return output.toCharArray();
|
public static char[] | toCharArray(java.io.Reader input)Get the contents of a Reader as a character array.
This method buffers the input internally, so there is no need to use a
BufferedReader .
CharArrayWriter sw = new CharArrayWriter();
copy(input, sw);
return sw.toCharArray();
|
public static java.io.InputStream | toInputStream(java.lang.String input)Convert the specified string to an input stream, encoded as bytes
using the default character encoding of the platform.
byte[] bytes = input.getBytes();
return new ByteArrayInputStream(bytes);
|
public static java.io.InputStream | toInputStream(java.lang.String input, java.lang.String encoding)Convert the specified string to an input stream, encoded as bytes
using the specified character encoding.
Character encoding names can be found at
IANA.
byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes();
return new ByteArrayInputStream(bytes);
|
public static java.lang.String | toString(java.io.InputStream input)Get the contents of an InputStream as a String
using the default character encoding of the platform.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
StringWriter sw = new StringWriter();
copy(input, sw);
return sw.toString();
|
public static java.lang.String | toString(java.io.InputStream input, java.lang.String encoding)Get the contents of an InputStream as a String
using the specified character encoding.
Character encoding names can be found at
IANA.
This method buffers the input internally, so there is no need to use a
BufferedInputStream .
StringWriter sw = new StringWriter();
copy(input, sw, encoding);
return sw.toString();
|
public static java.lang.String | toString(java.io.Reader input)Get the contents of a Reader as a String.
This method buffers the input internally, so there is no need to use a
BufferedReader .
StringWriter sw = new StringWriter();
copy(input, sw);
return sw.toString();
|
public static java.lang.String | toString(byte[] input)Get the contents of a byte[] as a String
using the default character encoding of the platform.
return new String(input);
|
public static java.lang.String | toString(byte[] input, java.lang.String encoding)Get the contents of a byte[] as a String
using the specified character encoding.
Character encoding names can be found at
IANA.
if (encoding == null) {
return new String(input);
} else {
return new String(input, encoding);
}
|
public static void | write(byte[] data, java.io.OutputStream output)Writes bytes from a byte[] to an OutputStream .
if (data != null) {
output.write(data);
}
|
public static void | write(byte[] data, java.io.Writer output)Writes bytes from a byte[] to chars on a Writer
using the default character encoding of the platform.
This method uses {@link String#String(byte[])}.
if (data != null) {
output.write(new String(data));
}
|
public static void | write(byte[] data, java.io.Writer output, java.lang.String encoding)Writes bytes from a byte[] to chars on a Writer
using the specified character encoding.
Character encoding names can be found at
IANA.
This method uses {@link String#String(byte[], String)}.
if (data != null) {
if (encoding == null) {
write(data, output);
} else {
output.write(new String(data, encoding));
}
}
|
public static void | write(char[] data, java.io.Writer output)Writes chars from a char[] to a Writer
using the default character encoding of the platform.
if (data != null) {
output.write(data);
}
|
public static void | write(char[] data, java.io.OutputStream output)Writes chars from a char[] to bytes on an
OutputStream .
This method uses {@link String#String(char[])} and
{@link String#getBytes()}.
if (data != null) {
output.write(new String(data).getBytes());
}
|
public static void | write(char[] data, java.io.OutputStream output, java.lang.String encoding)Writes chars from a char[] to bytes on an
OutputStream using the specified character encoding.
Character encoding names can be found at
IANA.
This method uses {@link String#String(char[])} and
{@link String#getBytes(String)}.
if (data != null) {
if (encoding == null) {
write(data, output);
} else {
output.write(new String(data).getBytes(encoding));
}
}
|
public static void | write(java.lang.String data, java.io.Writer output)Writes chars from a String to a Writer .
if (data != null) {
output.write(data);
}
|
public static void | write(java.lang.String data, java.io.OutputStream output)Writes chars from a String to bytes on an
OutputStream using the default character encoding of the
platform.
This method uses {@link String#getBytes()}.
if (data != null) {
output.write(data.getBytes());
}
|
public static void | write(java.lang.String data, java.io.OutputStream output, java.lang.String encoding)Writes chars from a String to bytes on an
OutputStream using the specified character encoding.
Character encoding names can be found at
IANA.
This method uses {@link String#getBytes(String)}.
if (data != null) {
if (encoding == null) {
write(data, output);
} else {
output.write(data.getBytes(encoding));
}
}
|
public static void | write(java.lang.StringBuffer data, java.io.Writer output)Writes chars from a StringBuffer to a Writer .
if (data != null) {
output.write(data.toString());
}
|
public static void | write(java.lang.StringBuffer data, java.io.OutputStream output)Writes chars from a StringBuffer to bytes on an
OutputStream using the default character encoding of the
platform.
This method uses {@link String#getBytes()}.
if (data != null) {
output.write(data.toString().getBytes());
}
|
public static void | write(java.lang.StringBuffer data, java.io.OutputStream output, java.lang.String encoding)Writes chars from a StringBuffer to bytes on an
OutputStream using the specified character encoding.
Character encoding names can be found at
IANA.
This method uses {@link String#getBytes(String)}.
if (data != null) {
if (encoding == null) {
write(data, output);
} else {
output.write(data.toString().getBytes(encoding));
}
}
|
public static void | writeLines(java.util.Collection lines, java.lang.String lineEnding, java.io.OutputStream output)Writes the toString() value of each item in a collection to
an OutputStream line by line, using the default character
encoding of the platform and the specified line ending.
if (lines == null) {
return;
}
if (lineEnding == null) {
lineEnding = LINE_SEPARATOR;
}
for (Iterator it = lines.iterator(); it.hasNext(); ) {
Object line = it.next();
if (line != null) {
output.write(line.toString().getBytes());
}
output.write(lineEnding.getBytes());
}
|
public static void | writeLines(java.util.Collection lines, java.lang.String lineEnding, java.io.OutputStream output, java.lang.String encoding)Writes the toString() value of each item in a collection to
an OutputStream line by line, using the specified character
encoding and the specified line ending.
Character encoding names can be found at
IANA.
if (encoding == null) {
writeLines(lines, lineEnding, output);
} else {
if (lines == null) {
return;
}
if (lineEnding == null) {
lineEnding = LINE_SEPARATOR;
}
for (Iterator it = lines.iterator(); it.hasNext(); ) {
Object line = it.next();
if (line != null) {
output.write(line.toString().getBytes(encoding));
}
output.write(lineEnding.getBytes(encoding));
}
}
|
public static void | writeLines(java.util.Collection lines, java.lang.String lineEnding, java.io.Writer writer)Writes the toString() value of each item in a collection to
a Writer line by line, using the specified line ending.
if (lines == null) {
return;
}
if (lineEnding == null) {
lineEnding = LINE_SEPARATOR;
}
for (Iterator it = lines.iterator(); it.hasNext(); ) {
Object line = it.next();
if (line != null) {
writer.write(line.toString());
}
writer.write(lineEnding);
}
|