前言 IO流:I是input,O是output(输入、输出)其中流指的是数据,这个数据又分为字节和字符,1个字符=2个字节;之前学Map集合的时候知道Map有个实现类叫HashTable是我们学习最早期的双列集合,HashTable已经被HashMap取代了,它也是双列集合,而Map集合的另一个孩子properties仍然活跃在历史舞台,是唯一和IO流相结合的集合 硬盘:磁头通过硬盘的旋转读取到不同的文件,硬盘上的数据是永久的(硬盘存储)读到内存 内存:临时存储(内存运行),电脑关机内存中的数据就没了 写 其中流指的是数据,数据就是字符字节,输入就是读取,输出就是把内存中的数据写到硬盘中保存,根据读的数据不一样,分为字符输入流输出流、字节输入流输出流 想用一个类就要用到它的构造方法
屏幕剪辑的捕获时间:2018-11-21 15:07 file:///C:\Users\wushuang\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png
第二章 字节流 2.1 一切皆为字节 计算机存储的单位,以及读取都是字节单位,一切皆为字节 2.2 字节输出流(OutputStream)->在java.Io包下,它是所有字节输出流的最顶层父类,因此一般这种父类定义的都是公共的方法 注意:这个类是抽象类,因此它无法直接创建对象,需要用它的子类去创建对象; 今天要学的重点是FileoutStreame(它继承了OutputStream):文件字节输出流 作用:把内存中的数据写到硬盘的文件中 构造方法: FileOutputStream (String name):创建一个向具有指定名称的文件中写入数据的输出文件流 FileOutputStream (File file):创建一个向指定File对象表示的文件中写入数据的文件输出流 参数:String name: 目的地是一个文件的路径 File file:目的地是一个文件 1.构造方法的作用:(1)创建一个FileOutputStream对象(2)会根据构造方法中传递的文件\文件路径创建一个新的文件(3)会把FileOutputStream对象指向创建好的文件 2.写入数据的原理(内存->硬盘):java程序-JVM(java虚拟机)-OS(操作系统)-OS调用些数据的方法(系统自己的方法)-把数据写到硬盘中(不是IO流把数据写到文件中去,我们没有权限操作Windows系统) 3.使用步骤(重点):(1)创建Fileoutputstream对象,构造方法中传递写入数据的目的地(2)调用Fileoutputstream对象中的方法wtite,把数据写到文件中(3)释放资源(流的使用 会占用一定内存,使用完毕后把内存清空,提高程序的效率) 注意:new Fileoutputstream的时候是有异常的,即FileNotFoundException(文件找不到异常),它是IOException的子类(当调用Fileoutputstream对象的write方法时会抛出) 注意2:硬盘中存储的数据都是字节,1个字节=8个比特位 在任意的文本编辑器(记事本、Notepad++)中在打开文件的时候都会查询编码表,把字节转为字符表示,其中0-127查询ASCII表 ,如97-a;其他值查询系统默认码表(中文系统GBK)
FileOutputStream 对象,如果没有该文件,创建文件,不会帮我们创建文件目录,只会帮我们创建文件,与File不同,File对象创建文件或文件夹必须调用createnewFile以及makedir等等,而FileOutputStream对象里面有参数的同时就创建文件或者文件夹了)
|