怎样使用IO流复制图片?
怎样使用IO流复制图片?
复制图片的原理是:使用字节输入流读取数据的同时,另一端使用输出流把数据写入需要的磁盘里。
首先我们需要新建一个IOStream类,找到需要复制的图片路径(D:\\jpg.jpg)
public class IOStream {
public static void main(String[] args) {
FileInputStream fis=null;
FileOutputStream fos=null;
try {
//输入流读取 D:\\jpg.jpg
fis=new FileInputStream("D:\\jpg.jpg");
//输出流写入 E:jpg3.jpg
fos=new FileOutputStream("E:\\jpg3.jpg");
//创建一个字节缓冲区,存放读取的字节
byte[] buffer=new byte[1024];
int len=0; //定义一个字节
while ((len=fis.read(buffer))!=-1) { //如果读取的字节为-1,说明已经读到了结尾
fos.write(buffer,0,len); //把读取到的数据存放入缓冲区
fos.flush(); //把数据冲缓冲区写入目标位置
}
System.out.println("复制成功!"); //在控制台打印语句,可以直观的反应是否复制成功。
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
fos.close(); //关闭输出流(后开的先关)
fis.close(); //关闭输入流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
字节流可以传文本、图片、电影;字符流只能传文本。