目录
字节流以及字符流的拷贝的封装
package cn.sxt.IO;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/*
*
*/
public class FileUtil {
public static void copy(InputStream is,OutputStream os) {
//自动释放资源 去掉finally try(is;os)
try {
byte car []=new byte[1024];
int len=-1;
while((len=is.read(car))!=-1)
{
os.write(car);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close(os,is);
}
}
public static void main(String[] args) throws FileNotFoundException {
//文件到文件
FileInputStream is =new FileInputStream("test");
FileOutputStream os =new FileOutputStream("test02");
copy(is, os);
//文件到字节数组
FileInputStream is1 =new FileInputStream("bing.jpg");
ByteArrayOutputStream os1= new ByteArrayOutputStream();
copy(is1, os1);
byte []datas =os1.toByteArray();
System.out.println(datas.length);
InputStream is2=new ByteArrayInputStream(datas);
OutputStream os2=new FileOutputStream("pcopy");
copy(is2, os2);
}
public static void close(InputStream is,OutputStream os) {
if(null!=os){
try {
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null!=is) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void close(Closeable...ios) {
for(Closeable io:ios) {
if(null!=io) {
try {
io.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
资源释放的封装
package cn.sxt.IO;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileUtil02 {
public static void copy(InputStream is,OutputStream os) {
//自动释放资源 去掉finally try(is;os)
try{
byte car []=new byte[1024];
int len=-1;
while((len=is.read(car))!=-1)
{
os.write(car);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}