• Java-IO流之字节流(上篇)


    由于IO流的内容较多,所以这一块的内容会分为上中下,今天主要编写上篇


    一、IO流概述

    学习IO流时,我们需要先搞清楚内存和硬盘的简单概念

    专有名词介绍
    内存临时存储数据
    硬盘永久存储数据
    Iinput 输入(读取)
    Ooutput 输出 (写入)
    数据(字符、字节)

    二、IO流图解

    在这里插入图片描述


    三、IO流分类

    IO流分为字节类以及字符流,这两种流又分为输入流以及输出流

    \输入流输出流
    字节流字节输入流 InputStream字节输出流 OutputStream
    字符流字符输入流 Reader字符输出流 Writer

    四、字节流

    1、简介

    不管是文档还是图片等,一切皆为字节

    2、OutputStream 字节输出流

    、该类是抽象类,无法创建对象,需要使用到它的子类
    、提供了多种方法,子类可以调用

    方法一: public void close()  : 关闭此输出流并释放与此流相关联的任何系统资源
    方法二: public void flush()  : 刷新此输出流并强制任何缓冲的输出字节被写出
    方法三: public void write(byte[] b) : 将b.length字节从指定字节数组写入此输出流
    方法四: public void write(byte[] b,int off ,int len) : 从指定字节数组中写入len长的字节,从off开始
    方法五: public abstract void write(int b): 将指定的字节输出流
    
    • 1
    • 2
    • 3
    • 4
    • 5

      2.1、注意

    、使用write方法传入一个参数,如果参数ASCII码在0-127之间则使用ASCII中的内容,其他值查询系统默认码表(中文系统GBK)

    、如果要在文件中打印出来100这个数字,需要写入三个字节,1:49 、0:48、0:48

    、如果第一个字节为正数(0-127),则会在ASCII表中查询并输出
    如果第一个字节为负数,则第一个字节会和第二个字节组成一个中文显示,查询系统默认码表

      2.2、代码演示

    1、通过数组的形式一次写多个字节

    
    byte[] b = {65,66,67,68,69};
    try {
    FileOutputStream fos = new FileOutputStream("E:\\notepad_java\\a.txt");
    		fos.write(b);
       } catch (FileNotFoundException e) {
            e.printStackTrace();
       } catch (IOException e) {
            e.printStackTrace();
       }
    
    文档中的内容:ABCDE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2、写入字符的方法

    byte[] b1 = "嗨".getBytes();
    try {
      FileOutputStream fos1 = new FileOutputStream("E:\\notepad_java\\a.txt");
      fos1.write(b1);
    } catch (FileNotFoundException e) {
       e.printStackTrace();
    } catch (IOException e) {
       e.printStackTrace();
    }
    
    文档中的内容:嗨
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2.3、FileOutputStream子类

    2.3.1、简介

    文件字节输出流
    把内存中的数据写到硬盘中的文件中

    2.3.2、构造函数

    FileOutputStream (String name) : 目的地是一个文件的路径
    FileOutputStreamFile file):目的地是一个文件
    
    • 1
    • 2

    2.3.3、构造函数的作用

    1、创建一个FileOutputStream对象
    2、会根据构造方法中传递的文件/文件路径,创建一个空的文件
    3、会把FileOutputStream对象指向创建好的文件
    
    • 1
    • 2
    • 3

    2.3.4、使用步骤

    1、创建FileOutputStream对象,构造方法中写入数据的目的地
    2、调用对象中的write()方法,将数据写入到文件中
    3、调用close()方法释放资源
    
    • 1
    • 2
    • 3

    这里只有很小的一部分知识点,可以蹲一蹲,中篇和下篇会在明后两天出的~~

  • 相关阅读:
    代码随想录算法训练营第二十八天| 509. 斐波那契数 , 70. 爬楼梯 , 746. 使用最小花费爬楼梯
    判断期末挂科问题
    java网络编程
    SpringSecurity + JWT(前后端分离)
    Allegro Design Entry HDL(OrCAD Capture HDL)RF-PCB菜单详细介绍
    STM32注入通道
    气象数据库分析
    【深度学习】【评价指标】多标签分类器的评价指标
    LeetCode每日一题(212. Word Search II)
    Cy3.5 NHS ester/琥珀酰亚胺活化酯,Cyanine3.5 NHS ester/琥珀酰亚胺活化酯(Methyl)
  • 原文地址:https://blog.csdn.net/qq_52998673/article/details/126409557