File和递归笔记

                    File [属于io包下面的但是不是流.]

File 可以操作磁盘上的目录和文件
1) 可以删除和创建文件.
2) 可以获取文件的一些属性.
3) File不能对文件内容进行修改.
File 的构造方法
File(String pathname); 通过名称来指定路径.
File file1 = new File(“d:\a.txt”);
File(String parent , String child); 从父路径名称 和子路径名称中创建实例.
File file2 = new File(“d:\”,”a.txt”); 【效果和file1一样】.
File(File parent , String child) ;
File file4 = new File(“d:\”);
File file3 = new File(file4,”b.txt”); 【相当于file1 , file2】
常用方法:
获取
getAbsolutePath(); 获取文件的绝对路径.
getPath(); 获取文件的相对路径.
getName(); 获取文件的名称.
length(); 获取文件的长度.【只能操作文件,目录不可以.】
判断
exists(); 判断此File是否存在.
isDirectory(); 判断File是否是目录.
isFile(); 判断File是否是文件.
创建和删除
createNewFile(); 创建一个文件.
mkdir(); 创建一个目录.
mkdirs(); 创建多级目录.
delete(); 删除一个文件或者目录. 【删除目录的前提就是目录必须为空.】
遍历
String[] list(); 返回一个字符串数组.
File[] listFiles(); 返回一个File数组.
**注意事项:
list遍历的File对象不是一个目录,会报null异常.
list遍历的目录不存在,会报异常.
list遍历的目录是一个系统文件.权限不够,也会报null异常.
案例:
File file = new File(“f:\ss”);
File[] fileArray = file.listFiles();
for (File f : fileArray) {
if(f.getName().endsWith(“.java”)){
System.out.println(f);
}
}
}

递归
1):指方法自己调用自己,自己调用自己.
2):递归的层次不能太深,否则栈溢出.
3):递归必须要有一个出口.
缺点:
递归调用时不能太多次,否则会栈溢出.
递归态消耗栈内存.
递归文件删除案例
public static void main(String[] args) {
File file = new File(“f:\ss”);
getFile(file);
}

        private static void getFile(File file) {
            File[] fileArray = file.listFiles();
            for (File f : fileArray) {
                if(!f.isFile()){
                    getFile(f);
                    f.delete();
                }else{
                    f.delete();  //文件删除完以后
                }
            }
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值