码迷,mamicode.com
首页 > 其他好文 > 详细

图片复制

时间:2018-02-06 18:19:17      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:stream   str   author   copy   ring   file   try   jpg   available   

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();
      }
      }
      }
      }

图片复制

标签:stream   str   author   copy   ring   file   try   jpg   available   

原文地址:http://blog.51cto.com/13579086/2069532

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!