zoukankan      html  css  js  c++  java
  • IO字节流四种方式复制文件

     1 package com.qyh.io;
     2 
     3 import java.io.BufferedInputStream;
     4 import java.io.BufferedOutputStream;
     5 import java.io.FileInputStream;
     6 import java.io.FileOutputStream;
     7 import java.io.IOException;
     8 
     9 /*
    10  * 字节流四种方式复制文件
    11  * 基本字节流一次读取一个字节
    12  * 基本字节流一次读取一个字节数组
    13  * 高效字节流一次读取一个字节
    14  * 高效字节流一次读取一个字节数组
    15  */
    16 
    17 public class CopyImageDemo {
    18     public static void main(String[] args) throws IOException {
    19         method1("d:\兔子.jpg","copy1.jpg");
    20         method2("d:\兔子.jpg","copy2.jpg");
    21         method3("d:\兔子.jpg","copy3.jpg");
    22         method4("d:\兔子.jpg","copy4.jpg");
    23     }
    24     
    25     
    26     //高效字节流一次读取一个字节数组
    27     private static void method4(String srcString,String destString ) throws IOException {
    28         //封装数据源
    29         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcString));
    30         //封装目的地
    31         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destString));
    32         
    33         byte[] bys = new byte[1024];
    34         int len = 0;
    35         while((len=bis.read(bys))!=-1) {
    36             bos.write(bys, 0, len);
    37         }
    38         bos.close();
    39         bis.close();
    40         
    41     }
    42     
    43     
    44     // 高效字节流一次读取一个字节
    45     private static void method3(String srcString , String destString ) throws IOException {
    46         //封装数据源
    47         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcString));
    48         //封装目的地
    49         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destString));
    50         
    51         int by = 0;
    52         while((by=bis.read())!=-1) {
    53             bos.write(by);
    54         }
    55         bos.close();
    56         bis.close();
    57     }
    58 
    59     //基本字节流一次读取一个字节数组
    60     private static void method2(String srcString , String destString) throws IOException {
    61         //封装数据源
    62         FileInputStream fis = new FileInputStream(srcString);
    63         //封装目的地
    64         FileOutputStream fos = new FileOutputStream(destString);
    65         
    66         byte[] bys = new byte[1024];
    67         int len = 0;
    68         while((len=fis.read(bys))!=-1) {
    69             fos.write(bys, 0, len);
    70         }
    71         fos.close();
    72         fis.close();
    73         
    74         
    75     }
    76 
    77     // 基本字节流一次读取一个字节
    78     private static void method1(String srcString,String destString) throws IOException {
    79         //封装数据源
    80         FileInputStream fis = new FileInputStream(srcString);
    81         //封装目的地
    82         FileOutputStream fos = new FileOutputStream(destString);
    83         
    84         int by = 0;
    85         while((by=fis.read())!=-1) {
    86             fos.write(by);
    87             
    88         }
    89         fos.close();
    90         fis.close();                    
    91     }
    92 
    93 }
    我亦无他,惟手熟尔
  • 相关阅读:
    SOJ 3531_Number Pyramids
    TYVJ P1047 乘积最大 Label:dp
    TYVJ P1067 合唱队形 Label:上升子序列?
    TYVJ P1093 验证数独 Label:none
    TYVJ P1088 treat Label:鞭笞人的DP
    TYVJ P1008 传球游戏
    表达式系列问题
    数字三角形系列 系列问题
    TYVJ P1024 外星人的密码数字
    TYVJ P1056 能量项链 Label:环状区间DP
  • 原文地址:https://www.cnblogs.com/AsuraPlus/p/11010657.html
Copyright © 2011-2022 走看看