IO概述(概念&分类)和字节输入流+OUTputStream类&FileOutPutStream类介绍
IO概述
什么是IO
生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了保存,可能文件就白白编辑了。当你的电脑上插入一个U盘,可以吧一个视频,拷贝到你的电脑硬盘里,那么数据都是在哪些设备上的呢?键盘/内存/硬盘/外界设备等等
我们把这种数据的和参数,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入Input和输出OutPut,即流向内存是输入流,流出内存是输出流
java中I/O操作主要是指使用java.io报下的内容,进行输入,输出等操作,输入也叫读取数据,输出也叫作写出数据
IO流的分类
根据数据流向分为输入流和输出流
输入流:把数据从其他设备上读取到内存中的流
输出流:把数据从内存中写出到其他设备上的流
根据数据的类型分为:字节流和字符流
字节流:
一切文件数据(文本、图片、视频等)在存储时,都是以二进制数学的形式保存,都一个一个的字节,那么传输时一样如此。多以字节流可以传输任意文件数据,在操作流的时候,无论使用什么样的流对象,底层传输的始终为二进制数据
字节输出流(OutputStream)
java java.io.OutputStream
抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。他定义了字节输出流的基本共性功能方法。
java public void close()
:关闭次输出流并释放与此流相关联的任何系统资源。
java public void flush()
:刷新此输出流并强制任何缓冲的输出字节被写出
java public void write(byte[] b)
:将b.lengtn字节从指定的字节数组写入到此输出流
java public void write(byte[] b,int off,int len)
:从指定的字节数组写入到len字节,从偏移量off开始输出到此输出流
java public abstract void write(int b)
:将指定的字节输出流
注意:close方法,当完成流操作的时候,必须调用此方法,释放系统资源
java java.io.FileOutputStream extends OutputStream
FileOutputStream:文件字节输出流
作用:吧内存中的数据写入到磁盘的文件中
构造方法:
FileOutputStream(String name);创建一个向具有指定名称的文件中写入数据的输出文件流
FileOutputStream(File file);创建一个向指定File对象表示的文件中写入数据的文件输出流
参数:写入数据的目的
String name:目的地是一个文件的路径
File file:目的地是一个文件
构造方法的租偶用:
1.创建一个FileOutputStream对象
2.会根据构造方法中传递的文件/文件路径,创建一个空的文件
3.会把FileOutoutStream对象指向创建好的文件