• File,,, 文件和文件夹的创建删除,,, listFiles()方法介绍,,,文件过滤器,,, 递归


         File

    File.pathSeparator      //与系统有关的路径分隔符  ;
    File.separator            //与系统有关的默认分隔符    
    //封装file对象,不能检测文件是否存在
    File file=new File("D:\io0512\a.txt");   
    File file=new File("D:\io0512","a.txt");   
    File file=new File("D:\io0512");
    File file4=new File("src");
    //获取文件绝对路径
    file.getAbsolutePath();         //D:io0512a.txt
    file4.getAbsolutePath();    //D:eclipse0512Day14src
    //获取文件名
    file.getName()    //a.txt
    //获取路径
    file4.getPath()      //src
    //获取文件长度,长度是字节数,long类型
    file.length()

                   文件和文件夹的创建删除

    
    

    File file=new File("D:\io0512\a.txt");
    //创建空文件
    boolean flag=file.createNewFile();
    System.out.println(flag);
    //判断文件是否存在
    System.out.println(file.exists());
    //判断是否是文件夹
    System.out.println(file.isDirectory());
    //判断是否是文件
    System.out.println(file.isFile());
    //删除文件
    file.delete();
    //创建文件夹
    file.mkdir();
    File file2=new File("D:\io0512\q\z\x\c");
    //创建多级文件夹
    boolean flag=file2.mkdirs();
    System.out.println(flag);

     

                    listFiles()方法介绍

    注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件

    1,指定的目录必须是存在的,

    2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException

    public class FileMethodDemo3 {
        public static void main(String[] args) {
            File dir = new File("e:\java_code");
            //获取的是目录下的当前的文件以及文件夹的名称。
            String[] names = dir.list();
            for(String name : names){
                System.out.println(name);
            }
            //获取目录下当前文件以及文件对象,只要拿到了文件对象,那么就可以获取其中想要的信息
            File[] files = dir.listFiles();
            for(File file : files){
                System.out.println(file);
            }
        }
    }

                    文件过滤器

    public class MyFilter implements FileFilter {
    
        @Override
        public boolean accept(File pathname) {
            
            //获取文件名
            String name=pathname.getName();
            //获取文件拓展名
            //转小写
            //判断文件是否以txt结尾
            return name.toLowerCase().endsWith(".txt");
        }
    
    }
    public static void main(String[] args) {
        File file=new File("D:\io0512");
        File[] files=file.listFiles(new MyFilter());
        for(File f:files){
            System.out.println(f);
        }

         递归

    public static void main(String[] args) {
        System.out.println(a(3));
    }
    //递归计算1-100的和
    public static int  a(int i){
        if(i==1){
            return 1;
        }else{
            return i+a(i-1);
        }
    }

    递归计算斐波那契数列(前两个数相加等于第三个数)

    public static void main(String[] args) {
        System.out.println(get(12));
    }
    public static int get(int n){
        if(n==1||n==2){
            return 1;
        }
        return get(n-1)+get(n-2);
    }

    递归应用

    递归查询所有文件

    public class Demo03 {
    public static void main(String[] args) {
        get(new File("D:\io0512"));
    }
    public static void get(File dir){
        //当前目录这一级的文件和文件夹对象数组
        File[] files=dir.listFiles();
        for(File i:files){
            if(i.isDirectory()){//如果file对象时文件夹,继续进行遍历
                System.out.println(i+"---");//打印文件夹
                get(i);
            }else{
            //如果不是打印
            System.out.println(i);//打印文件
            }
        }
    }
    }

    递归查询所有以txt结尾的文件

    public class Demo04 {
    public static void main(String[] args) {
        get(new File("D:\io0512"));
    }
    public static void get(File dir){
        //当前目录这一集的文件和文件夹对象数组
        File[] files=dir.listFiles(new Zi());
        for(File i:files){
            if(i.isDirectory()){//如果file对象时文件夹,继续进行遍历
                //System.out.println(i+"---");//打印文件夹
                get(i);
            }else{
            //如果不是打印
            System.out.println(i);//打印文件
        }}
    }
    }
    public class Zi implements FileFilter{
    
        
        public boolean accept(File pathname) {
            if(pathname.isDirectory()){
                return true;
            }
            String i=pathname.getName();
            return i.toLowerCase().endsWith(".txt");
        }
    
    }
  • 相关阅读:
    Ubuntu环境下IPython的搭建和使用
    智能移动导游解决方案简介
    企业文化、团队文化与知识共享
    CoinPunk项目介绍
    Insight API开源项目介绍
    比特币Bitcoin源代码安装编译
    Javascript单元测试Unit Testing之QUnit
    Node.js的UnitTest单元测试
    Node.js调试
    Alfresco 4 项目介绍
  • 原文地址:https://www.cnblogs.com/111wdh/p/13396067.html
Copyright © 2020-2023  润新知