IO流中的异常处理
java1.7之後新的處理方式
自动关闭的流资源,必须是实现了AutoCloseable
FileInputStream extends InputStream implements Closeable extends AutoCloseable
ry(需要自动关闭的流资源){
可能发生异常的代码块
}catch(){
捕获异常之后要做的处理
}finally{
异常语句块一定会执行的代码块,释放锁,关闭流资源
}
try(
FileInputStream fis = new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(dest);
){
byte[] b = new byte[1024];
int len;
while((len = fis.read(b)) != -1){
fos.write(b,0,len);
}
}catch(Exception e){
e.printStackTrace();
}
编码问题
1.读取中文的时候 只读取到部分字节
2.编码问题 编码和解码的时候编码集不一致
编码:按照某种编码集去存储数据
解码: 按照某种编码集去读取数据
3.有些编码集根本不支持中文 比如iso