异常
* Throwable
* Error : 错误 , 严重性的问题
* Exception : 异常
* RuntimeException和它的子类 : 运行时期异常 , 编译时期不报错, 可以选择处理, 处理方案(1 捕获 2 抛出)
* 非RuntimeException和它的子类 : 编译时期异常 , 编译时期报错, 必须处理, 处理方案(1 捕获 2 抛出)
*
* JVM默认处理异常的方式 :
* 1 把异常的类型 原因 位置 打印在控制台
* 2 终止了程序
*
* 程序员手动处理异常 :
* 1 捕获
* try{
* 可能会出现问题的代码
* }catch(异常的类型 变量名){
* 处理异常的代码
* }catch(异常的类型 变量名){
* 处理异常的代码
* }...finally{
* 这里的代码一定会执行
* 一般作为,释放内存, 清理垃圾作用
* }
*
* try{
* 可能会出现问题的代码
* }catch(异常的类型 变量名){
* 处理异常的代码
* }
*
* 3 抛出 throws
* 字节流 : 可以操作任意文件
* 字节输入流 : 读数据
* 字节输出流 : 写数据
*
* 字符流 : 只能操作文本文件
* 字符输入流 : 读数据
* 字符输出流 : 写数据
/*
* FileOutputStream写数据的三种方式.
* public void write(byte b) : 向文件中写入一个字节
* public void write(byte b[]) : 向文件中写入一个字节数组
* public void write(byte b[], int off, int len) : 向文件中写入字节数组的一部分
*
* String类 :
* public byte[] getBytes() : 把字符串转成字节数组
*/
* OutputStreamWriter写数据的5种方式
*
* 字符输出流 :
* Writer抽象类
* public void write(int c) :写入单个字符
* public void write(char[] cbuf) : 写入字符数组。
* public void write(char[] cbuf, int off, int len) : 写入字符数组的某一部分。
* public void write(String str) : 写入字符串。
* public void write(String str, int off ,int len) : 写入字符串的某一部分
*
* public void flush() : 刷新该流的缓冲