IO流--FileInputStream--FileOutputStream_io流

字节输入流:

package com.kaka.testio;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class IODemo1 {
    //Scanner scanner=new Scanner(System.in);//System.in键盘录入,需要铺管道
    public static void main(String[] args) {
        //1.在文件和程序之间铺设管道
        try {
            //1.在文件和程序之间铺设管道
            //以下两句等价于:FileInputStream file=new FileInputStream("E:\\2021.txt");
            File file=new File("E:\\2021.txt");
            FileInputStream f=new FileInputStream(file);//可查看构造函数
            //2.”开水龙头“
            int ch=f.read();//read()方法只能读一个字节
            System.out.println("ch="+(char)ch);
            //3."关水龙头"
            f.close();

        } catch (Exception e) {
            System.out.println("文件找不到!");
        }
    }

}

字节输出流:

IO流--FileInputStream--FileOutputStream_io流_02

package com.kaka.testio;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.charset.StandardCharsets;

public class IODemo2 {
    public static void main(String[] args) {

        try {
            //1.创建“水厂”
            String data="Hello world!";
            //2.铺设程序到盘符文件的管道
            FileOutputStream os=new FileOutputStream("E:\\2021.txt");//会覆盖文件内容,如果是FileOutputStream("E:\\2021.txt",true)则在结尾处写入
            //3.打开水龙头
            byte[] tempBytes=data.getBytes();
            os.write(tempBytes);
            //4.关闭管道
            os.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

io流实现复制:

package com.kaka.testio;

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

public class IODemo3 {
    public static void main(String[] args) {

        try {

            FileInputStream file=new FileInputStream("E:\\2021.txt");
            byte[] tempBytes = new byte[100];
            file.read(tempBytes);
            file.close();

            FileOutputStream os=new FileOutputStream("E:\\2020.txt");
            os.write(tempBytes);
            os.close();

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

测速度:

         long startTime=System.currentTimeMillis();//开始时间

            FileInputStream file=new FileInputStream("E:\\2021.txt");
            byte[] tempBytes = new byte[100];
            file.read(tempBytes);
            file.close();

            FileOutputStream os=new FileOutputStream("E:\\2020.txt");
            os.write(tempBytes);
            os.close();

         long endTime=System.currentTimeMillis();//结束时间
         System.out.println("共耗时"+(endTime-startTime)+"毫秒");