FileInputStream和FileOutputStream字节流实现文件复制

时间:2021-08-12 08:13:07
package io;

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

/** * 使用字节流实现文件复制 * 程序以字节为单位读取指定文件中的数据并写出到目标文件中,实现文件复制 * @author liuhuiyan * *java.io.FileInputStream用于从本地磁盘文件中读取字节数据,步骤如下: * 先创建一个FileInputStream对象关联到要读取的文件 * 然后调用其read()方法拂去字节数据到程序中,再进行其它处理 *java.io.FileOutputStream用于将字节数据写出到文件中 * 如果进行写操作的目标文件不存在,则自动创建该文件 * 如果目标文件所在的路径不存在则会报错 */
public class CopyFile {
    public static void main(String[] args) {
        try {
            //文件输入流
            FileInputStream fileInputStream = new FileInputStream("a.txt");
            //文件输出流
            FileOutputStream fileOutputStream = new FileOutputStream("remp.txt");
            //从此输入流读取下一字节,字节值被转换为0-255的一个无符号整数返回,若是已经读到文件末尾,无字节可读时,则会返回-1
            int read = fileInputStream.read();
            while(read!=-1){
                fileOutputStream.write(read);//读的内容返回值不等于-1,一边读一边写
                read = fileInputStream.read();
            }
            fileInputStream.close();
            fileOutputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}