Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.fastchar.utils.FastIOUtils Maven / Gradle / Ivy
package com.fastchar.utils;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
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;
}
}