import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyFunction {
public static void copy(InputStream inStream, OutputStream outStream, int bufferSize) throws IOException {
//一定要对传进来的参数进行合法性检查
if (inStream == null) {
throw new IllegalArgumentException("inStream不能为空!");
}
if (outStream == null) {
throw new IllegalArgumentException("outStream 不能为空!");
}
if (bufferSize <= 0) {
throw new IllegalArgumentException("bufferSize必须大于0");
}
byte[] buffer = new byte[bufferSize];
int len;
while ((len = inStream.read(buffer)) > 0)//读异常抛出,让调用者处理
{
outStream.write(buffer, 0, len);
}
}
//构造一个重载方法,设置一个默认的缓冲区的大小
public static void copy(InputStream inStream, OutputStream outStream) throws IOException {
copy(inStream, outStream, 1024 * 1024);//默认缓冲区大小1MB
}
}
Java基础|FileInputStream 和 FileOutputStream 封装文件的copy方法
于 2016-06-02 19:29:22 首次发布