zoukankan      html  css  js  c++  java
  • JDK源码阅读-------自学笔记(十七)(java.io.File类)

    File类简介

    • java.io.File类:抽象代表文件和目录。
    • 使用此类,相当于获取了系统的文件,可以对其进行操作.
    • 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类

    File初始化

    1 File file = new File("//");
    View Code

    注:

    参数添加对应的目录地址或者添加文件的地址 目录地址使用"/",或者""来分割

    常用方法及实战

    • 修改文件名称

    实例:

    1  File file = new File("/Users/8888/IdeaProjects/undertow/file/test.json");
    2 
    3     System.out.println(file);
    4 
    5     file.renameTo(new File("/Users/8888/IdeaProjects/undertow/file/newName.json"));
    6 
    7     System.out.println(file);
    View Code
    • 获取当前项目路径,并对其下操作

    当前项目下,新建文件

    实例:

    1  try {
    2         file = new File("test.txt");
    3         file.createNewFile();
    4     } catch (IOException e) {
    5         e.printStackTrace();
    6     }
    View Code
    • File是否存在

    实例:

    1     // File是否存在
    2     System.out.println("File是否存在:" + file.exists());
    View Code
    • File是否是目录

    实例:

    1     // File是否是目录
    2     System.out.println("File是否是目录:" + file.isDirectory());
    View Code
    • File是否是文件

    实例:

    1     // File是否是文件
    2     System.out.println("File是否是文件:" + file.isFile());
    View Code
    • File最后修改时间

    实例:

    1     // File最后修改时间
    2     System.out.println("File最后修改时间:" + new Date(file.lastModified()));
    View Code
    • File的大小

    实例:

    1      // File的大小
    2     System.out.println("File的大小:" + file.length());
    View Code
    • File的文件名

    实例:

    1     // File的文件名
    2     System.out.println("File的文件名:" + file.getName());
    View Code
    • File的当前目录路径

    实例:

    1     // File的当前目录路径
    2     System.out.println("File的当前目录路径:" + file.getPath());
    View Code
    • File获取绝对路径

    实例:

    1    // File获取绝对路径
    2     System.out.println("File获取绝对路径:" + file.getAbsolutePath());
    View Code
    • File删除文件

    实例:

    1     // File删除文件
    2     System.out.println("File删除文件:" + file.delete());
    View Code
    • File的mkdir与mkdirs区别

    mkdir():目录结构中有一个不存在,则不会创建整个目录树

    mkdirs():目录结构中有一个不存在也没关系;创建整个目录树

    实例:

     1    File file = new File("/see/go/to/to");
     2 
     3     //目录结构中有一个不存在,则不会创建整个目录树
     4     boolean flag = file.mkdir();
     5 
     6     //创建失败
     7     System.out.println(flag);
     8 
     9 
    10     File file2 = new File("/see/go/to/to");
    11 
    12     //目录结构中有一个不存在也没关系;创建整个目录树
    13     boolean flag2 = file2.mkdirs();
    14 
    15     //创建成功
    16     System.out.println(flag2);
    View Code

    应用

    使用递归算法,以树状结构展示目录树

    • 递归的本质就是自身调用自身的过程
    • 两个条件必须有,何时调用自己,何时不调用
    • 递归头:何时调用自己
    • 递归体:何时不调用自己,否则就是死循环了
     1 public static void main(String[] args) {
     2 
     3     File f = new File("/Users/8888/IdeaProjects");
     4     printFile(f, 0);
     5 }
     6 
     7 
     8 /**
     9  * 打印文件信息
    10  *
    11  * @param file  文件名称
    12  * @param level 层次数(实际就是:第几次递归调用)
    13  */
    14 static void printFile(File file, int level) {
    15     //输出层次数
    16     for (int i = 0; i < level; i++) {
    17         System.out.print("-");
    18     }
    19     //输出文件名
    20     System.out.println(file.getName());
    21     //如果file是目录,则获取子文件列表,并对每个子文件进行相同的操作
    22     if (file.isDirectory()) {
    23         File[] files = file.listFiles();
    24         for (File temp : files) {
    25             //递归调用该方法:注意等+1
    26             printFile(temp, level + 1);
    27         }
    28     }
    29 }
    View Code
  • 相关阅读:
    shell 脚本——第五节课 交互输入read与for语句
    shell 脚本——第四节课 Linux grep命令与正则表达
    shell 脚本——第三节课 编程原理
    shell脚本练习:一个添加用户test1到test10的脚本程序
    ARM设备树
    Ubuntu18.04 设置wifi热点
    二、卷积神经网络概念
    一、神经网络构建八股搭建
    边缘计算
    2.7 usb摄像头之usb摄像头描述符打印
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/12907840.html
Copyright © 2011-2022 走看看