首页 > 其他分享 >FileInputStream 、FileOutputStream完成非文本文件复制

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

时间:2022-11-15 14:22:19浏览次数:58  
标签:fis 文本文件 fos FileOutputStream File new FileInputStream

【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();

    }
}

 

标签:fis,文本文件,fos,FileOutputStream,File,new,FileInputStream
From: https://www.cnblogs.com/jeldp/p/16892286.html

相关文章