com.jfinal.weixin.sdk.utils.IOUtils Maven / Gradle / Ivy
package com.jfinal.weixin.sdk.utils;
import java.io.*;
import java.nio.charset.Charset;
/**
* IOUtils
* @author L.cm
*/
public abstract class IOUtils {
private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;
/**
* closeQuietly
* @param closeable 自动关闭
*/
public static void closeQuietly(Closeable closeable) {
try {
if (closeable != null) {
closeable.close();
}
} catch (IOException ioe) {
// ignore
}
}
/**
* InputStream to String utf-8
*
* @param input the InputStream
to read from
* @return the requested String
* @throws NullPointerException if the input is null
* @throws IOException if an I/O error occurs
*/
public static String toString(InputStream input) throws IOException {
return toString(input, Charsets.UTF_8);
}
/**
* InputStream to String
*
* @param input the InputStream
to read from
* @param charset the Charset
* @return the requested String
* @throws NullPointerException if the input is null
* @throws IOException if an I/O error occurs
*/
public static String toString(InputStream input, Charset charset) throws IOException {
InputStreamReader in = new InputStreamReader(input, charset);
StringBuffer out = new StringBuffer();
char[] c = new char[DEFAULT_BUFFER_SIZE];
for (int n; (n = in.read(c)) != -1;) {
out.append(new String(c, 0, n));
}
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(input);
return out.toString();
}
/**
* InputStream to File
* @param input the InputStream
to read from
* @param file the File to write
* @throws IOException id异常
*/
public static void toFile(InputStream input, File file) throws IOException {
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
while ((bytesRead = input.read(buffer, 0, DEFAULT_BUFFER_SIZE)) != -1) {
os.write(buffer, 0, bytesRead);
}
IOUtils.closeQuietly(os);
IOUtils.closeQuietly(input);
}
}