IO File和递归

IO:

java数据都在内存中,一旦程序结束,数据就消失了,可以使用io操作:将内存中的数据存储到持久化设备上Output操作,将持久化设备上的数据读取到内存中Input操作;

 

File类的构造函数

 

 使用构造方法创建File

        File file2 = new File("src");
        File file3 = new File("D:\\","java");
        File file4 = new File(new File("D:\\java"),"hello.txt");

 

File类的获取

File file = new File("D:\\java\\hello.txt");
//        获取绝对路径
        System.out.println(file.getAbsolutePath());
//        获取文件名
        System.out.println(file.getName());
//        路径
        System.out.println(file.getPath());
//        文件长度:字节数
        System.out.println(file.length());

 

File类对文件操作

//    创建文件
    public static void mathod01() throws IOException{
//        描述要创建的文件路径
        File file = new File("D:\\java\\a");
//        创建文件
        boolean flag = file.createNewFile();
        System.out.println(flag);
    }
//    删除文件或文件夹
    public static void mathod02(){
//        描述要删除的文件或文件夹路径
        File file = new File("D:\\java\\b");
        boolean flag = file.delete();
        System.out.println(flag);
    }
//    判断文件属性
    public static void mathod03(){
        File file = new File("D:\\java\\hello.txt");
//        是否存在文件
        System.out.println(file.exists());
//        是否是文件夹
        System.out.println(file.isDirectory());
//        是否是文件
        System.out.println(file.isFile());
    }
//    创建文件夹
    public static void mathod04(){
        File file = new File("D:\\io0429\\java.txt");
        boolean flag = file.mkdirs();
        System.out.println(flag);
    }

 

list和listFiles方法

        File file = new File("D:\\java");
//        获取当前文件夹下的所有文件和文件夹的名数组
        String [] files = file.list();
        for(String f : files){
            System.out.println(f);
        }
//        获取当前文件夹下的所有文件和文件夹对象数组
        File [] all= file.listFiles();
        for(File f : all){
            System.out.println(f);
        }

 

递归

指在当前方法调用自己

递归要有条件限定,保证递归可以停止,否则会导致栈内存溢出,递归次数过多也会导致栈内存溢出。

//        计算1-100的和
        public static int add(int n){
            if(n == 1){
                return 1;
            }
            return n + add(n-1);
        }
//        斐波那契数列
        public static int create(int n ){
            if(n == 1){
                return 1;
            }
            if(n == 2){
                return 1;
            }
            return create (n-1) + create (n-2);
        }

 

posted @ 2021-07-30 16:52  LiUiUJ  阅读(32)  评论(0)    收藏  举报