import java.io.File;
public class FileDemo04 {
/*目标:File针对目录的遍历
* public String[]list();
* 获取当前目录下所有的“一级文件名称”到一个字符串数组中去返回
* public File[]listFiles()(常用)
* 获取当前目录下所有的“一级文件对象”到一个文件对象数组中去返回(重点)*/
public static void main(String[] args) {
//定义一个目录
File f1=new File("D:/HelloWord");
String[]names=f1.list();
assert names != null;
for (String name : names) {
System.out.println(name);}
//一级对象
//获取当前目录下所有的“一级文件对象”到一个文件对象数组中去返回(重点)
File[]files=f1.listFiles();
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
}
}
final释放资源
import java.io.*;
public class CopyDemo05 {
public static void main(String[] args) {
InputStream is=null;
OutputStream os=null;
try{
//1创建一个字节输入流管道与原视频接通
is= new FileInputStream("D:\\HelloWord\\recusion\\src\\date") ;
//2创建一个字节输出流管道与目标文件接通
os=new FileOutputStream("D:\\HelloWord\\recusion\\src\\date02");
//3定义一个字节数组转移数据
byte[]buffer=new byte[1024];
int len;//记录每次读取的字节数
while((len=is.read(buffer))!=-1){
os.write(buffer,0,len);
}
System.out.println("复制完成了");
System.out.println(10/0);
//关闭流
//os.close();
// is.close();
}catch(Exception e){
e.printStackTrace();
}finally{
System.out.println("=============finally===================");
try{
if(os!=null)os.close();
}catch(IOException e){
e.printStackTrace();
}
try{
if(is!=null)is.close();
}catch(IOException e){
e.printStackTrace();
}
}
System.out.println(test(10,2));
}
public static int test(int a,int b){
try{
int c=a/b;
System.exit(0);//只有这个才能终止finally运行
System.out.println(0);
return c;
}catch(Exception e){
e.printStackTrace();
return-111111;//计算出bug
}finally{
//先执行finally语句,再return
//开发中不建议在这里加return,如果加了,返回的永远是这里的数据了,这样会出现问题
return 100;
}
}
}