IO框架--字节流

1.IO流概述

IO流:输入输出流
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,即数据在两设备间传输称为流
流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

IO流分类:
根据处理数据类型不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流

2、字节输出流

OutputStream类
此抽象类是表示输出字节流所有类的超类。输出流接受输出字节并将这些字节发送到InputStream类某个接收器要向文件中输出,使用FileOutputStream类

3、字节输入流

InputStream类
该抽象类是表示字节输入流的所有类的超类
FileInputStream从文件系统中的某个文件中获得输入字节

输出流:

private static void out() throws IOException {
        //1.确定目标文件
        File file=new File("D:\\MyFile\\a.txt");
       //2.构建一个文件输出流对象
        OutputStream out=new FileOutputStream(file);
        //输出的内容
        String info="hello world";
        //3.把内容写入到文件
        out.write(info.getBytes());
        //4.关闭流
        out.close();
        System.out.println("write success");
    }

    public static void main(String[] args)  {

        try {
            out();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

结果:
在这里插入图片描述
在这里插入图片描述
输入流:

private static void in() throws IOException {
        //1.确定目标文件
        File file=new File("D:\\MyFile\\a.txt");
        //2.创建输入流对象
        InputStream in=new FileInputStream(file);
        byte[] bytes=new byte[100];
        StringBuilder buf=new StringBuilder();
        int len=-1;//每次读取的字节长度
         //把数据读入到bytes中,返回读取的字节数,当不等于-1时,表示读取到数据
        while((len=in.read(bytes))!=-1){
            //根据读取到的字节数组,再转换为字符串内容
             buf.append(new String(bytes));
        }
        //关闭输入流
        in.close();
        System.out.println(buf);
    }

    public static void main(String[] args)  {

        try {
            in();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

结果:
在这里插入图片描述
write()和read()方法底层是一个一个字节的读取或写入,且读取写入方法是native方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值