zoukankan      html  css  js  c++  java
  • 5.6Java 创建File

    5.6Java 创建File

    File API

    API说明
    mkdir(必须存在上级目录)  mkdirs(上级目录不存在就创建出来) 创建目录,如果父目录链不存在则一同创建
    list(这里只是下一级的名称,不是子孙级。要获取到子孙级要使用递归---方法自己调自己就是递归(递归级---递归头)) 下级名称
    listFiles(拿到下一级的文件对象) 下级File
    listRoots() 根路径

    测试这些API:

    package ioStudy;

    import java.io.File;

    /**
    * 创建目录
    * 1.mkdir--->确保上级目录存在,如果不存在则创建失败
    * 2.mkdirs--->上级目录可以不存在,不存在的话则一同创建
    * 列出下一级
    * 1.list():找出下一级名称
    * 2.listFile():列出下级File对象--->返回的是一个容器(字符串数组)
    * 3.listRoots():windows找出盘符
    * @author Lucifer
    */
    public class TestDirDemo1 {
       public static void main(String[] args) {
           //定义对象路径
           File dir = new File("D:/workspace/practice/main/java/ioStudy/dir/test");

           //创建目录--->测试mkdir方法
           boolean flag = dir.mkdir();
           System.out.println(flag);

           //测试目录--->测试mkdirs方法
           flag = dir.mkdirs();
           System.out.println(flag);
    //       flag = dir.delete();
    //       System.out.println(flag);

           //测试列出下一级
           //列出之前首先要新建对象,保证对象是目录而不是文件
           File dir2 = new File("D:/workspace/practice/main/java/collection");
           String[] subName = dir2.list();
           for (String s : subName){
               //输出字符
               System.out.print(s + "\t");
          }

           //获取下一级对象--->listFiles
           File[] subFile = dir2.listFiles();
           //增强for循环打印出
           for (File f : subFile){
               System.out.println(f.getAbsolutePath() + "\t");
          }

           //列出所有的盘符---listRoot
           File[] roots = dir2.listRoots();
           //打印出
           for (File r : roots){
               System.out.println(r.getAbsolutePath());
          }
      }
    }

    回顾递归方法的使用:

    • 递归是自己调自己,要有两个关键部分

      • 递归头

      • 递归体

    package ioStudy;

    /**
    * 简单回顾递归算法--->测试递归算法
    * 递归:方法自己调用自己--->数据结构的压栈(占用内存很高)
    * 包含部分:
    * 1.递归头--->合适结束递归(循环结束条件)--->文件操作的时候递归很好用,因为结束条件好找
    * 2.递归体--->重复调用
    * @author Lucifer
    */
    public class TestDirDemo2 {
       public static void main(String[] args) {
           //首先要明白递归式方法自己调用自己,所以要先写一个方法
           printTen(1);
      }

       /*写一个类方法*/
       public static void printTen(int n){
           /*先写递归头--->结束条件*/
           //打印1~10,到10结束那么就是写判断然后返回值结束方法
           //一定要结束方法,否则会内存溢出
           if (n > 10){
               //这是递归头
               return;
          }
           /*方法要可以输出查看调用了几次*/
           System.out.println(n);
           /*让方法自增*/
           printTen(n + 1); //递归体:每一次调用自己都+1
      }
    }

     

    It's a lonely road!!!
  • 相关阅读:
    Linux 环境变量 设置 etc profile
    Linux 升级glibc-2.14 失败 我遇到的问题
    qt窗口的切换
    qt事件机制---事件范例
    qt中的事件机制
    qt的信号与槽函数
    linux下qt的安装
    qt中的udp编程
    qt中的tcp编程
    qt中的多线程
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14736468.html
Copyright © 2011-2022 走看看