• 笔记--I/O流


    i:代表Input  输入(读取)

    o:代表output  输出(写入)

    流:数据(字符,字节)1个字符=2个字节

    输入和输出是相对于电脑中 内存 与硬盘之间的说法

    内存(临时存储):输出---把内存中的数据写入硬盘中保存

    硬盘(永久存储):输入----把硬盘中的数据读取到内存中使用

     上面四个都是抽象类,无法实例化对象,必须调用其子类

    一.FileOutputStream:文件字节输出流

    作用:把内存中的数据写入硬盘中

    构造方法:
    Fileoutputstream ( String name)创建一个向具有指定名称的文件中写入数据的输出文件流。
    FileOutputStream(File file)创建一个向指定File对象表示的文件中写入数据的文件输出流。

    参数:写入数据的目的
    string name:目的地是一个文件的路径

    File file:目的地是一个文件

    构造方法的作用:
    1).创建一个FiLeoutputstream对象
    2).会根据构造方法中传递的文件/文件路径,创建一个空的文件

    3).会把FiLeoutputStream对象指向创建好的文件

    写入数据的原理(内存-->硬盘)
    java程序-->3M(java虚拟机)-->oS(操作系统)-->os调用写数据的方法-->把数据写入到文件中

    字节输出流的使用步骤(重点):
    1.创建一个Fileoutputstream对象,构造方法中传递写入数据的目的地

    2.调用FileoutputStream对象中的方法write,把数据写入到文件中
    3.释放资源(流使用会占用一定的内存,使用完毕要把内存清空,提供程序的效率)


    一次写多个字节的方法:
    - public void write(byte[] b):将b.length字节从指定的字节数组写入此输出流。
    - public void write(byte[ ] b, int off, int len):从指定的字节数组写入len字节,从偏移量off开始输出到此输出流。

    追加写/续写:使用两个参数的构造方法
    FiLeOutputStream(String name, boolean append)创建一个向具有指定name的文件中写入数据的输出文件流。

    FileOutputStream(FiLe file, boolean append)创建一个向指定File对象表示的文件中写入数据的文件输出流。

    参数:
    string name , FiLe fiLe:写入数据的目的地

    boolean append :追加写开关
    true:创建对象不会覆盖源文件,继续在文件的末尾追加写数据

    false:创建一个新文件,覆盖源文件


    二.FiLeinputstream:文件字节输入流

    作用:把硬盘文件中的数据,读取到内存中使用
    构造方法:
    FiLeInputstream( string name)

    FileInputstream( File file)

    参数:读取文件的数据源
    string name:文件的路径File file:文件
    构造方法的作用:
    1.会创建一个FileInputStream对象
    2.会把FileInputstream对象指定构造方法中要读取的文件
    读取数据的原理(硬盘-->内存)
    java程序-->JVM-->OS-->oS读取数据的方法-->读取文件
    字节输入流的使用步骤(重点):
    1.创建FiLeInputstream对象,构造方法中绑定要读取的数据源

    2.使用FileInputStream对象中的方法read,读取文件
    3.释放资源

    三.java,io.Reader :字符输入流,是字符输入流的最顶层的父类,定义了一些共性的成员方法,是一个抽象类共性的成员方法:
     

    int read()读取单个字符并返回。
    int read(char[]cbuf)一次读取多个字符,将字符读入数组。

    void close()关闭该流并释放与之关联的所有资源。
    java.io.FileReader extends InputStreamReader extends Reader

    FiLeReader:文件字符输入流
    作用:把硬盘文件中的数据以字符的方式读取到内存中

    构造方法;
    FiLeReader( string fiLeName )

    FiLeReader( File file)
    参数:读取文件的数据源
    string fileName :文件的路径
    File file:一个文件
    FiLeReader构造方法的作用:
    1.创建一个FiLeReader对象
    2.会把FiLeReader对象指向要读取的文件


    四.java.io.writer :字符输出流,是所有字符输出流的最顶层的父类,是一个抽象类共性的成员方法:

    - void write(int c)写入单个字符。
    - void write(char[i] cbuf)写入字符数组。
    - abstractvoid write(char[ ] cbuf, int off, int len)写入字符数组的某一部分, off数组的开始索弓
    ,Len写的字符个娄女。
    - void write(String str)写入字符串。
    - void write(String str,int off, int len)写入字符串的某一部分, off字符串的开始索引, Len写的字符个数。

    - void flush()刷新该流的缓冲。
    - void close()关闭此流,但要先刷新它。
    java.io.Filewriter extends outputstreamwriter extends writerFilewriter:文件字符输出流
    作用:把内存中字符数据写入到文件中

    构造方法:
    Filewriter(File fiLe)根据给定的FiLe 对象构造一个 Filewriter 对象。Filelriter(String fileName)根据给定的文件名构造一个FiLewriter 对象。参数:写入数据的目的地
    String fiLeName:文件的路径File file:是一个文件
    构造方法的作用:
    1.会创建一个FiLewriter对象
    2.会根据构造方法中传递的文件/文件的路径,创建文件3.会把FiLewriter对象指向创建好的文件

     

    五.

    flush方法和close方法的区别
    - flush :刷新缓冲区,流对象可以继续使用。
    - close:先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。



     


     

     


     

  • 相关阅读:
    JNI中调用Java函数
    nvidia-smi
    记一次 .NET 某仪器测量系统 CPU爆高分析
    用Java打印长方形、平行四边形 、三角形、菱形、空心菱形
    在 ubuntu 22.04 上配置界面服务器 vnc
    git 知:提交格式
    windows下实现mysql8的主从复制
    【大模型和智能问答系统】
    Vue如何修改slot插槽传递的值
    【机器人学导论(第四版)】1-绪论
  • 原文地址:https://blog.csdn.net/qq_62917168/article/details/126412642