资源使用完毕后一定要释放,否则其他的应用程序无法使用该资源。不管程序是否可以正常的读取文件,一定要保证释放资源代码的正常执行......
/*
finally 块
finally块的使用前提: 必须要配合try块使用,不能单独使用。
finally块的代码在任何情况下都可以执行,只有在jvm退出的情况才不会执行。
try块的表现形式就有三种:
方式1: 适用于没有资源文件释放,只需要处理异常的代码使用。
try{
可能发生异常的代码
} catch( 异常类的类型 e){
异常的处理代码..
}
方式2: 适用于既有资源释放也需要处理异常的代码去使用。
try{
可能发生异常的代码
} catch( 异常类的类型 e){
异常的处理代码..
} finally{
释放资源的代码;
}
方式3: 只需要 释放资源文件,不需要处理异常的代码去使用
try{
可能发生异常的代码
} finally{
释放资源的代码;
}
*/
class Demo6
{
public static void main(String[] args)
{
try{
int c = 4/2;
System.out.println("结果:"+ c);
//return;
//System.exit(0); // 0表示正常退出jvm,非0表示异常退出jvm。
}finally{
System.out.println("finally块的代码执行了...");
}
}
}
import java.io.*;
class Demo7
{
public static void main(String[] args)
{
FileReader fileReader = null;
try{
//第一步:找到目标文件
File file = new File("F:\\a.txt");
//第二步: 建立文件 与程序 的数据输入通道
fileReader = new FileReader(file);
//读取文件数据
int content =0;
while((content = fileReader.read())!=-1){ //-1 如果没有读取到文件的末尾就继续读取
System.out.print((char)content);
}
System.out.println();
}catch(IOException e){
System.out.println("读取资源文件失败...");
}finally{
try{
//关闭资源(释放资源文件)
fileReader.close();
System.out.println("释放资源文件成功...");
}catch(IOException e){
System.out.println("关闭资源文件失败...");
}
}
}
}