com.fastchar.utils.FastIOUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fastchar Show documentation
Show all versions of fastchar Show documentation
FastChar is Web+ORM Framework in Java.
package com.fastchar.utils;
import java.io.*;
import java.net.*;
import java.nio.channels.Selector;
import java.nio.charset.Charset;
/**
* from org.apache.commons.io
*/
public class FastIOUtils {
public static void close(URLConnection conn) {
if (conn instanceof HttpURLConnection) {
((HttpURLConnection)conn).disconnect();
}
}
public static byte[] toByteArray(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
copy((InputStream)input, (OutputStream)output);
return output.toByteArray();
}
public static byte[] toByteArray(InputStream input, long size) throws IOException {
if (size > 2147483647L) {
throw new IllegalArgumentException("Size cannot be greater than Integer max value: " + size);
} else {
return toByteArray(input, (int)size);
}
}
public static byte[] toByteArray(InputStream input, int size) throws IOException {
if (size < 0) {
throw new IllegalArgumentException("Size must be equal or greater than zero: " + size);
} else if (size == 0) {
return new byte[0];
} else {
byte[] data = new byte[size];
int offset;
int readed;
for(offset = 0; offset < size && (readed = input.read(data, offset, size - offset)) != -1; offset += readed) {
}
if (offset != size) {
throw new IOException("Unexpected readed size. current: " + offset + ", excepted: " + size);
} else {
return data;
}
}
}
public static byte[] toByteArray(Reader input) throws IOException {
return toByteArray(input, Charset.defaultCharset());
}
public static byte[] toByteArray(Reader input, Charset encoding) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
copy((Reader)input, (OutputStream)output, (Charset)encoding);
return output.toByteArray();
}
public static byte[] toByteArray(Reader input, String encoding) throws IOException {
return toByteArray(input, FastCharsetsUtils.toCharset(encoding));
}
/** @deprecated */
@Deprecated
public static byte[] toByteArray(String input) throws IOException {
return input.getBytes();
}
public static byte[] toByteArray(URI uri) throws IOException {
return toByteArray(uri.toURL());
}
public static byte[] toByteArray(URL url) throws IOException {
URLConnection conn = url.openConnection();
byte[] var2;
try {
var2 = toByteArray(conn);
} finally {
close(conn);
}
return var2;
}
public static byte[] toByteArray(URLConnection urlConn) throws IOException {
InputStream inputStream = urlConn.getInputStream();
byte[] var2;
try {
var2 = toByteArray(inputStream);
} finally {
inputStream.close();
}
return var2;
}
public static char[] toCharArray(InputStream is) throws IOException {
return toCharArray(is, Charset.defaultCharset());
}
public static char[] toCharArray(InputStream is, Charset encoding) throws IOException {
CharArrayWriter output = new CharArrayWriter();
copy((InputStream)is, (Writer)output, (Charset)encoding);
return output.toCharArray();
}
public static char[] toCharArray(InputStream is, String encoding) throws IOException {
return toCharArray(is, FastCharsetsUtils.toCharset(encoding));
}
public static char[] toCharArray(Reader input) throws IOException {
CharArrayWriter sw = new CharArrayWriter();
copy((Reader)input, (Writer)sw);
return sw.toCharArray();
}
public static String toString(InputStream input) throws IOException {
return toString(input, Charset.defaultCharset());
}
public static String toString(InputStream input, Charset encoding) throws IOException {
FastStringBuilderWriter sw = new FastStringBuilderWriter();
copy((InputStream)input, (Writer)sw, (Charset)encoding);
return sw.toString();
}
public static String toString(InputStream input, String encoding) throws IOException {
return toString(input, FastCharsetsUtils.toCharset(encoding));
}
public static String toString(Reader input) throws IOException {
FastStringBuilderWriter sw = new FastStringBuilderWriter();
copy((Reader)input, (Writer)sw);
return sw.toString();
}
public static String toString(URI uri) throws IOException {
return toString(uri, Charset.defaultCharset());
}
public static String toString(URI uri, Charset encoding) throws IOException {
return toString(uri.toURL(), FastCharsetsUtils.toCharset(encoding));
}
public static String toString(URI uri, String encoding) throws IOException {
return toString(uri, FastCharsetsUtils.toCharset(encoding));
}
public static String toString(URL url) throws IOException {
return toString(url, Charset.defaultCharset());
}
public static String toString(URL url, Charset encoding) throws IOException {
InputStream inputStream = url.openStream();
String var3;
try {
var3 = toString(inputStream, encoding);
} finally {
inputStream.close();
}
return var3;
}
public static String toString(URL url, String encoding) throws IOException {
return toString(url, FastCharsetsUtils.toCharset(encoding));
}
/** @deprecated */
@Deprecated
public static String toString(byte[] input) throws IOException {
return new String(input);
}
public static String toString(byte[] input, String encoding) throws IOException {
return new String(input, FastCharsetsUtils.toCharset(encoding));
}
public static void copy(Reader input, OutputStream output) throws IOException {
copy(input, output, Charset.defaultCharset());
}
public static void copy(Reader input, OutputStream output, Charset encoding) throws IOException {
OutputStreamWriter out = new OutputStreamWriter(output, FastCharsetsUtils.toCharset(encoding));
copy((Reader)input, (Writer)out);
out.flush();
}
public static void copy(Reader input, OutputStream output, String encoding) throws IOException {
copy(input, output, FastCharsetsUtils.toCharset(encoding));
}
public static int copy(InputStream input, OutputStream output) throws IOException {
long count = copyLarge(input, output);
return count > 2147483647L ? -1 : (int)count;
}
public static void copy(InputStream input, Writer output, Charset encoding) throws IOException {
InputStreamReader in = new InputStreamReader(input, FastCharsetsUtils.toCharset(encoding));
copy((Reader) in, (Writer) output);
}
public static int copy(Reader input, Writer output) throws IOException {
long count = copyLarge(input, output);
return count > 2147483647L ? -1 : (int) count;
}
public static long copyLarge(Reader input, Writer output) throws IOException {
return copyLarge(input, output, new char[4096]);
}
public static long copyLarge(InputStream input, OutputStream output) throws IOException {
return copyLarge(input, output, new byte[4096]);
}
public static long copyLarge(InputStream input, OutputStream output, byte[] buffer) throws IOException {
long count = 0L;
int n;
for (boolean var5 = false; -1 != (n = input.read(buffer)); count += (long) n) {
output.write(buffer, 0, n);
}
return count;
}
public static long copyLarge(Reader input, Writer output, char[] buffer) throws IOException {
long count = 0L;
int n;
for (boolean var5 = false; -1 != (n = input.read(buffer)); count += (long) n) {
output.write(buffer, 0, n);
}
return count;
}
public static void closeQuietly(Reader input) {
closeQuietly((Closeable)input);
}
public static void closeQuietly(Writer output) {
closeQuietly((Closeable)output);
}
public static void closeQuietly(InputStream input) {
closeQuietly((Closeable)input);
}
public static void closeQuietly(OutputStream output) {
closeQuietly((Closeable)output);
}
public static void closeQuietly(Closeable closeable) {
try {
if (closeable != null) {
closeable.close();
}
} catch (IOException var2) {
}
}
public static void closeQuietly(Socket sock) {
if (sock != null) {
try {
sock.close();
} catch (IOException var2) {
}
}
}
public static void closeQuietly(Selector selector) {
if (selector != null) {
try {
selector.close();
} catch (IOException var2) {
}
}
}
public static void closeQuietly(ServerSocket sock) {
if (sock != null) {
try {
sock.close();
} catch (IOException var2) {
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy