zoukankan      html  css  js  c++  java
  • 利用字节流和字节数组流是实现文件的复制

    package ioxuexi;

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    /**
    * 利用字节流和字节数组流是实现文件的复制
    * @author User
    *
    */

    public class lianxi17 {
    public static void main(String[] args) throws IOException {
    byte[] data=get("E:/test/2.txt");
    set(data, "e:/test/45.txt");
    }
    //将目的字节数组放到目标区域
    public static void set(byte[] src,String destString) throws IOException{
    //创建目的文件源
    File destFile=new File(destString);
    //利用字节数组输入流录入字节数组
    InputStream isInputStream=new BufferedInputStream(new ByteArrayInputStream(src));
    //利用字节输出流输出文件
    OutputStream bosOutputStream=new BufferedOutputStream(new FileOutputStream(destFile));
    //进行操作
    byte[] flush=new byte[1024];
    int len=0;
    while (-1!=(len=isInputStream.read(flush))) {
    bosOutputStream.write(flush,0,len);
    }
    //强制刷出
    bosOutputStream.flush();
    //关闭文件流,释放资源
    isInputStream.close();
    bosOutputStream.close();

    }
    //通过字节流录入和字节数输出将源文件转换为字节数组
    public static byte[] get(String pathname) throws IOException {
    //创建文件源
    File srcFile=new File(pathname);
    byte[] dest=null;
    //利用字节输入流将目的地址的文件进行录入
    InputStream isInputStream=new BufferedInputStream(new FileInputStream(srcFile));
    //创建字节数组输出流
    ByteArrayOutputStream bosArrayOutputStream=new ByteArrayOutputStream();
    //进行字节数组录入
    byte[] flush=new byte[1024];
    int len=0;
    while (-1!=(len=isInputStream.read(flush))) {
    bosArrayOutputStream.write(flush,0,len);
    }
    bosArrayOutputStream.flush();
    //关闭文件流,释放资源
    isInputStream.close();
    bosArrayOutputStream.close();
    //返回一个字节数组
    return bosArrayOutputStream.toByteArray();

    }
    }

  • 相关阅读:
    BZOJ 4571: [Scoi2016]美味
    LibreOJ #108. 多项式乘法
    BZOJ 4568: [Scoi2016]幸运数字
    BZOJ 4567: [Scoi2016]背单词
    fhq treap ------ luogu P3369 【模板】普通平衡树(Treap/SBT)
    LibreOJ #6191. 「美团 CodeM 复赛」配对游戏
    LibreOJ #6212. 「美团 CodeM 决赛」melon
    LibreOJ #6192. 「美团 CodeM 复赛」城市网络
    LibreOJ #6220. sum
    AC日记——LOOPS hdu 3853
  • 原文地址:https://www.cnblogs.com/zx931880423/p/6842962.html
Copyright © 2011-2022 走看看