您的位置:首页 > 其它

复制图片的四种方式

2016-04-30 15:02 218 查看
[b]复制图片的四种方式:[/b]

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

/*

* 复制图片

* 分析:

* 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流

* 通过该原理,我们知道我们应该采用字节流更方便些

* 而字节流有4种方式,所以做这个题目我们有4中方式,推荐掌握第4中方式

* 数据源:

* e:\\照片.jpg -- FileInputStream -- BufferedInputStream

* 目的地:

* f:\\照片1.jpg -- FileOutputStream -- BufferedOutputStream

*/

public class CopyImage {

publicstatic void main(String[] args) throws IOException {

//TODO Auto-generated method stub

//可以使用字符串作为路径也可以使用File对象作为参数

FilesrcFile = new File("照片.jpg"); //c:\\照片.jpg

FiledesFile = new File("照片1.jpg");

// method1(srcFile,desFile);

// method2(srcFile,desFile);

// method3(srcFile,desFile);

method4(srcFile,desFile);

}

//字节缓冲流一次读写一个数组

publicstatic void method4(File srcFile, File desFile) throws IOException {

//TODO Auto-generated method stub

BufferedInputStreambis = new BufferedInputStream(new FileInputStream(srcFile));

BufferedOutputStreambos = new BufferedOutputStream(new FileOutputStream(desFile));

byte[]bys = new byte[1024];

intlen = 0;

while((len= bis.read(bys)) != -1){

bos.write(bys,0,len);

}

bos.close();

bis.close();

}

//字节缓冲流一次读写一个字节

publicstatic void method3(File srcFile, File desFile) throws IOException {

//TODO Auto-generated method stub

BufferedInputStreambis = new BufferedInputStream(new FileInputStream(srcFile));

BufferedOutputStreambos = new BufferedOutputStream(new FileOutputStream(desFile));

intby = 0;

while((by= bis.read()) != -1){

bos.write(by);

}

bos.close();

bis.close();

}

//基本字节流一次读写一个字节数组

publicstatic void method2(File srcFile, File desFile) throws IOException {

//TODO Auto-generated method stub

FileInputStreamfis = new FileInputStream(srcFile);

FileOutputStreamfos = new FileOutputStream(desFile);

byte[]bys = new byte[1024];

intlen = 0;

while((len= fis.read(bys)) != -1){

fos.write(bys,0,len);

}

fos.close();

fis.close();

}

//基本字节流一次读写一个字节

publicstatic void method1(File srcFile, File desFile) throws IOException {

//TODO Auto-generated method stub

FileInputStreamfis = new FileInputStream(srcFile);

FileOutputStreamfos = new FileOutputStream(desFile);

intby = 0;

while((by= fis.read()) != -1){

fos.write(by);

}

fos.close();

fis.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: