• 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 }
    我亦无他,惟手熟尔
  • 相关阅读:
    linux sysfs (2)
    微软——助您启动云的力量网络虚拟盛会
    Windows Azure入门教学系列 全面更新啦!
    与Advanced Telemetry创始人兼 CTO, Tom Naylor的访谈
    Windows Azure AppFabric概述
    Windows Azure Extra Small Instances Public Beta版本发布
    DataMarket 一月内容更新
    和Steve, Wade 一起学习如何使用Windows Azure Startup Tasks
    现实世界的Windows Azure:与eCraft的 Nicklas Andersson(CTO),Peter Löfgren(项目经理)以及Jörgen Westerling(CCO)的访谈
    正确使用Windows Azure 中的VM Role
  • 原文地址:https://www.cnblogs.com/AsuraPlus/p/11010657.html
Copyright © 2020-2023  润新知