黑马程序员技术交流社区

标题: IO 字节流复制图片、视频文件的四种方式 [打印本页]

作者: marcojam    时间: 2015-8-8 13:16
标题: IO 字节流复制图片、视频文件的四种方式
  1. package copyImage;
  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;

  8. public class CopyImageDemo {
  9.         public static void main(String[] args) throws IOException {
  10.                 File stri = new File("e:\地质灾害隐患分布图.jpg");//源文件对象
  11.                 File stro = new File("f:\地质灾害隐患分布图.jpg");//输出文件对象
  12.                 //bytecopy(stri, stro);
  13.                 //bytecopy1(stri, stro);
  14.                 //bufferedbytecopy(stri, stro);
  15.                 bufferedbytecopy1(stri, stro);

  16.         }

  17.         // 方式一:基本字节流
  18.         public static void bytecopy(File stri, File stro) throws IOException {
  19.                 FileInputStream fis = new FileInputStream(stri);
  20.                 FileOutputStream fos = new FileOutputStream(stro);
  21.                 int b = 0;
  22.                 while ((b = fis.read()) != -1) {
  23.                         fos.write(b);
  24.                 }
  25.                 fos.close();
  26.                 fis.close();
  27.         }

  28.         // 方式二:基本字节流数组流
  29.         public static void bytecopy1(File stri, File stro) throws IOException {
  30.                 FileInputStream fis = new FileInputStream(stri);
  31.                 FileOutputStream fos = new FileOutputStream(stro);
  32.                 int b = 0;
  33.                 byte[] by = new byte[1024];
  34.                 while ((b = fis.read(by)) != -1) {
  35.                         fos.write(by, 0, b);
  36.                 }
  37.                 fos.close();
  38.                 fis.close();
  39.         }

  40.         // 高效字节缓冲流
  41.         public static void bufferedbytecopy(File stri, File stro)
  42.                         throws IOException {
  43.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  44.                                 stri));
  45.                 BufferedOutputStream bos = new BufferedOutputStream(
  46.                                 new FileOutputStream(stro));
  47.                 int b = 0;
  48.                 while ((b = bis.read()) != -1) {
  49.                         bos.write(b);
  50.                 }
  51.                 bos.close();
  52.                 bis.close();
  53.         }

  54.         // 高效字节数组缓冲流
  55.         public static void bufferedbytecopy1(File stri, File stro)
  56.                         throws IOException {
  57.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  58.                                 stri));
  59.                 BufferedOutputStream bos = new BufferedOutputStream(
  60.                                 new FileOutputStream(stro));
  61.                 int b = 0;
  62.                 byte[] by = new byte[1024];
  63.                 while ((b = bis.read(by)) != -1) {
  64.                         bos.write(by, 0, b);
  65.                 }
  66.                 bos.close();
  67.                 bis.close();
  68.         }
  69. }
复制代码






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2