一篇文章教会你IO输入输出流

字节输入流和字节输出流

字节输入流是InputStream是所有输入流的父类, 字节输出流是OutputStream是所有输出流的父类

文件字节输入流和文件输出流

文件字节输入流是FileIntputStream ,文件字节输出流是FileOutputStream

文件字节输入流

常用方法

//此处使用多态创建一个文件字节输入流
InputStream is = new FileInputStream(String path)
  1. 读取
//每调用一次,读取一个字节
is.read();
//用car存储读入的字节数字组
byte [] car = new byte[1024];
//读取数据用car存储
is.read(car)
  1. 关闭
//将该输入流关闭
is.close();

读取指定文件

 public static void main(String[] args) throws IOException {
     //创建文件输入流路径为"D://test,txt"
        InputStream in = new FileInputStream("D://test.txt");
     //用来存储读入的数据,内容一般用1024的倍数来存储
        byte [] car = new byte[1024];
     //定义长度,因为会读入1024个字节一般剩余的回事空格,因此需要len来知道读取多少数据
        int len = -1;
     //用循环读出数据
        while(-1!=(len = in.read(car))){
            System.out.println(new String(car,0,len));
        }
        is.close();
    }

文件字节输出流

常用方法

//此处使用多态
OutputStream os = new FileoutputStream(String path);
  1. 写出
//写出一个字节
os.write();
//写出一个字节数组的数据
os.write(byte [] b);
  1. 刷出
//将流中的管道的数据全部加载到文件中
os.flush();
  1. 关闭
//关闭输出流资源
os.close();

写入指定文件夹

 public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("D://lufei.txt");
        InputStream is = new FileInputStream("D://test.txt");
        byte [] car = new byte[1024];
        int len = -1;
        while(-1!=(len = is.read(car))){
            os.write(car,0,len);
            os.flush();
        }
        os.close();
    }

字符输入流和字符输出流

字符输入流Reader,字符输出流Writer

文件字符输入流

常用方法

Reader rd = new FileReader(String path)
  1. 读入

    //读入一个字符
    rd.read();
    //读入一个字符数组
    rd.read(char [] car);
    
  2. 关闭

rd.close();

读入指定文件并输出

    public static void main(String[] args) throws IOException {
        Reader rd = new FileReader("D://lufei.txt");
        char [] car = new  char[1024];
        int len = -1;
        while(-1!=(len=rd.read(car))){
            System.out.println(new String(car,0,len));
        }
    }

文件字符输出流

常用方法

Writer rt = new Filewriter(String path);
  1. 写出
//写出一个字符
rt.write();
//写出一个数组长度的数据
rt.write(char [] car);
  1. 刷出
rt.flush();
  1. 关闭
rt.close();

缓冲流

其为功能流加快文件读入写出的能力

常用方法

BufferedReader rd = new BuffererdReader(new FileReader());
BufferedWriter rt = new BuffererdWriter(new FileWriter());

新增方法

//读取一行
rd.readline();
//分隔符可以理解为换行
rt.newline();
上一篇:【Spring】IOC样例


下一篇:Springboot中获取配置文件(application.yml)中自定义的变量并使用