FileInputStream 、FileOutputStream完成非文本文件复制

【1】读入一个字节写出一个字节

复制代码
package com.msb.io02;

import java.io.*;

/**
 * @author : liu
 * 日期:14:00:25
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test03 {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) throws IOException {
        //功能:完成图片的复制
        //1.有一个源文件
        File file = new File("D:\\lol.jpg");
        //2.有一个目标文件
        File file2 = new File("D:\\lol2.jpg");
        //3.有一个输入的管道怼到源文件上面
        FileInputStream fis=new FileInputStream(file);
        //4.有一个输出的管道怼到目标件上面
        FileOutputStream fos = new FileOutputStream(file2);
        //5.开始复制(边读边写)
        int n = fis.read();
        while (n!=-1){
            fos.write(n);
            n=fis.read();
        }
        //6.关闭流
        fos.close();
        fis.close();

    }
}
复制代码

【2】利用缓冲数组

复制代码
package com.msb.io02;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author : liu
 * 日期:14:08:59
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test05 {
    public static void main(String[] args) throws IOException {
        //功能:完成图片的复制
        //1.有一个源文件
        File file = new File("D:\\lol.jpg");
        //2.有一个目标文件
        File file2 = new File("D:\\lol2.jpg");
        //3.有一个输入的管道怼到源文件上面
        FileInputStream fis=new FileInputStream(file);
        //4.有一个输出的管道怼到目标件上面
        FileOutputStream fos = new FileOutputStream(file2);
        //5.开始复制
        //利用缓冲数组
        byte[] b=new byte[1024*6];
        int n = fis.read(b);
        while (n!=-1){
            fos.write(b,0,n);
            n=fis.read(b);
        }
        //6.关闭流
        fos.close();
        fis.close();

    }
}
复制代码

 

posted @   爱的加勒比  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示