黑马程序员技术交流社区
标题:
就业班JavaSE Day09 字节流 字符流 Properties
[打印本页]
作者:
小北京
时间:
2018-11-26 16:10
标题:
就业班JavaSE Day09 字节流 字符流 Properties
字节流、字符流
第一章 IO概述
1.1 什么是IO
可以看做是数据的一种流动,以内存为基准,可以分为输入input,输出output.输入也叫做读取数据,输出也叫做写出数据.
1.2 IO的分类
根据数据的流向分为:
输入流 : 把数据从 其他设备 上读取到 内存 中的流。
输出流 :把数据从 内存 中写出到 其他设备 上的流。
根据数据的类型分为:
字节流 : 以字节为单位,读写数据的流.
字符流 :以字符为单位,读写数据的流.
1.3 顶级父类们
输入流 输出流
字节流 字节输入流 字节输出流
InputStream OutputStream
字符流 字符输入流 字符输出流
Reader Writer
第二章 字节流
2.1 一切皆为字节
2.2 字节输出流OutputStream
public void close:关闭此输出流并释放
public void flush:刷新此输出流并强制写出
2.3 FileOutputStream类
OutPutStream有很多子类,我们从最简单的一个子类开始。
java.io.FileOutputStream 类是文件输出流,用于将数据写出到文件
构造方法:
public FileOutputStream(File file) :创建文件输出流以写入由指定的 File对象表示的文件。
public FileOutputStream(String name) : 创建文件输出流以指定的名称写入文件
。
当你创建一个流对象时,必须传入一个文件路径。该路径下,如果没有这个文件,会创建该文件。如果有这个文件,会清空这个文件的数据.
写出字节数据:1. 写出字节: write(int b) 方法,每次可以写出一个字节数据.
2. 写出字节数组: write(byte[] b) ,每次可以写出数组中的数据
3.写出指定长度字节数组: write(byte[] b, int off, int len) ,每次写出从off索引开始,len个字节.
.
数据追加续写:这两个构造方法,参数中都需要传入一个boolean类型的值, true 表示追加数据, false 表示清空原有数据。
这样创建的输出流对象,就可以指定是否追加续写了
写出换行
Windows系统里,换行符号是 \r\n
。
2.4 字节输入流 InputStream
2.5 FileInputStream类
1. 读取字节: read 方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回 -1.
2.6 字节流练习:图片复制
第三章 字符流
3.1 字符输入流【Reader】
3.2 FileReader类
类是读取字符文件的便利类,构造时使用系统默认的字符编码和默认字节缓冲区。
读取字符数据:
read 方法,每次可以读取一个字符的数据,提升为int类型,读取到文件末尾,返回 -1 ,循环读取.
使用字符数组读取: read(char[] cbuf) ,每次读取b的长度个字符到数组中,返回读取到的有效字符个数,读取到末尾时,返回 -1
3.3 字符输出流 Writer
3.4 FileWriter类
第四章 IO异常的处理
JDK7前处理
我们一直把异常抛出,而实际开发中并不能这样处理,建议使用 try...catch...finally 代码块,处理异常部分
第五章 属性集
5.2 Properties类
构造方法:public Properties() :创建一个空的属性列表。
使用步骤:
1.创建Properties集合对象
2.使用Properties集合对象中的方法load读取保存键值对的文件
3.遍历Properties集合
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2