IO流
原理
1、存储机制:硬盘、内存、缓存。
2、硬盘:容量大可以长期储存
3、内存:运行中的程序数据。
4、缓存:频幕中看到的数据。
5、程序运行过程:运行程序把当前程序相关文件数据加载到内存中
程序结束把当前内存中的程序数据清楚掉
6、流的流动方向:硬盘----->内存------>硬盘
流的机制
1、定义:流是指一定的介质按照一定的方向流动的行为,在软件开发中指的是存储的数据的流动过程,
这个数据源可以是硬盘中的文件、内存或者是网络中的某个url
2、概念:字节和字符的区别?
字节是计算机存储的最小单位(bit-计算机运算的最小单位)
字符:1个英文=1个byte 1个中文=2个byte
3、流的划分
根据传输介质:字节和字符
根据传输方向:输入和输出(内存的角度上)
要从硬盘把数据引入到内存:输入
要从内存把数据传入到硬盘:输出
4、注意四个抽象类:InputStream、OutputStream、Reader、Writer
5、入门流(文件字节输入输出):FileInputStream、FileOutputStream
字节输入:read(int) read(byte[])
如何把字节数组转化为字符串:
//把数组内容转化为字符串
String str=new String(bytes,0,v);
字节输出:write(int) write(byte[])
字符输入:read(int) read(char[])
字符输出:write(int) wirte(char[])
如何把字符串转为字符数组:
//把字符串转化为字符数组
char[] chars=str.toCharArray();
6、注意:文件输入流的关联文件必须在电脑中存在
文件输出流的关联文件电脑中可以不存在(路径必须要存在)
程序优化:时间效率优化和空间效率优化
异常
异常的概念:
异常时导致程序中断运行的一种指令流,如果不对异常进行处理,
异常抛出:JAVA程序在执行过程中如果出现异常,会自动生成一个异常对象,该异常对象将被件给JAVA运行时系统,这个过程称为抛出异常。
则可能导致程序的中断执行,
造成不必要的损失,所以在程序的设计中必须要
考
虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序的正常运行。
异常处理:在JAVA中对异常处理有两种方式:处理异常和声明异常。
处理异常:try,catch,和 finally。
自定义异常和返回值:我们来举个例子
public static void main(String[] args) throws Exception{
ExceptionTest2 et = new ExceptionTest2();
try{
et.test();
}catch(Exception e){
throw e;
}
System.out.println("运行结束");
}
public void test() throws Exception{
int a = 100;
int b = 0;
try{
int result = a/b;
}catch(ArithmeticException e){
Exception ex = new Exception("除数不能为0");
throw ex;
}
// System.out.println(result);
}
下面是运行时所出现的异常
从上面一个例子我们可以看出被除数0是不能用来做被除数的,很符合事实和数学中的乘除是一样的,所以在运行时会出现错误;
java异常体系继承结构图: