Java IO流总结

什么是IO流

I:input 输入

O:output 输出

流: 数据(字符,字节),1字符 = 2字节 = 16二进制位

输入:把硬盘中的数据读取到内存中使用

输出:把内存中的数据写入到硬盘中存储

Java中字符字节流的顶层父类是:

                输入流              输出流

字节流: InputStream      OutputSteam

字符流:    Reader              Writter

字节流

一切皆为字节,电脑中存储的文件都是字节(二进制)形式保存。所以字节流可以传输任意文件数据。

OutputStream输出字节流:抽象类

是所有输出字节流的超类

定义了子类共性的方法:

void close() 关闭此输出流并释放与此流相关联的任何系统资源。
void flush() 刷新此输出流并强制任何缓冲的输出字节被写出。
void write(byte[] b)b.length字节从指定的字节数组写入此输出流。
void write(byte[] b, int off, int len) 从指定的字节数组写入 len个字节,从偏移 off开始输出到此输出流。
abstract void write(int b) 将指定的字节写入此输出流。 
          • 已知的子类:
            ByteArrayOutputStream
            FileOutputStreamFilterOutputStreamObjectOutputStream , OutputStream , PipedOutputStream
            FileOutputStream: 文件字节输出流

            把内存中的数据写入到硬盘的文件中
            构造方法  
            Constructor and Description
            FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件。
            FileOutputStream(File file, boolean append) 创建文件输出流以写入由指定的 File对象表示的文件。
            FileOutputStream(FileDescriptor fdObj) 创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接。
            FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。
            FileOutputStream(String name, boolean append) 创建文件输出流以指定的名称写入文件。 

            String name : 目的地是一个文件的路径

            File file : 目的地只一个文件

            构造方法的作用:

              1.创建一个对象

              2.根据构造方法传递的文件/文件路径,创建一个空的文件

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

            写入数据的原理(内存->硬盘) :

              java程序->JVM->os(操作系统)->os调用写数据的方法->把数据写入到文件中

            字节输出流的步骤(重点):

            1. 创建一个FileOutputStream对象,构造方法中传入写入数据的目的地

            2.调用FileOutputStream对象中的write方法,把数据写入到文件中

            3.释放资源

上一篇:IO字节流


下一篇:创建文件,写文件