import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
拷贝图片
@author WangShuang
*/
public class Demo {public static void main(String[] args) {
copy_3();
}
/**效率不如copy_2高
*/
public static void copy_1(){
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("c:\timg.jpg");
out = new FileOutputStream("D:\timg.jpg");
int ch = 0;
while((ch=in.read())!=-1){
out.write(ch);
}} catch (IOException e) {
e.printStackTrace();
}finally {try { if(out!=null){ out.close(); }} catch (IOException e) { e.printStackTrace();}try { if(in!=null){ in.close(); }} catch (Exception e2) { e2.printStackTrace();}
}
}
//最通用的方法
public static void copy_2(){
FileInputStream in = null;
FileOutputStream out = null;
try {
in=new FileInputStream("c:\timg.jpg");
out=new FileOutputStream("d:\timg.jpg");
byte[] buffer = new byte[1024];
int len = 0;
while((len=in.read(buffer))!=-1){
out.write(buffer, 0, len);
}} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(out!=null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(in!=null){
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
//适合文件比较小的情况
public static void copy_3(){
FileInputStream in = null;
FileOutputStream out = null;
try {
in=new FileInputStream("c:\timg.jpg");
out=new FileOutputStream("d:\timg.jpg");
int available = in.available();//返回文件大小
byte buffer[] = new byte[available];
in.read(buffer);
out.write(buffer);
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(out!=null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if(in!=null){
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
共同學習,寫下你的評論
評論加載中...
作者其他優質文章