• File类的常用方法2——高淇JAVA300讲笔记之IO和File


    案例一:操作目录

     1 package com.bjsxt.io.file;
     2 
     3 import java.io.File;
     4 import java.io.FilenameFilter;
     5 
     6 /**
     7  * 5、操作目录
     8  * mkdir()  创建目录,必须确保 父目录存在,如果不存在,创建失败
     9  * mkdirs()  创建目录,如果父目录链不存在  一同创建
    10  * list() 文件 | 目录字符串形式
    11  * listFiles()
    12  * static listRoots() 根路径
    13  *
    14  */
    15 public class Demo04 {
    16     public static void main(String[] args) {
    17         String path = "E:/xp/test/";
    18         File src = new File(path);  //文件夹
    19         if(src.isDirectory()) {  //存在并且为目录
    20             System.out.println("========子目录|文件名=======");
    21             String[] subNames = src.list();
    22             
    23             for(String temp:subNames) {
    24                 System.out.println(temp);
    25             }
    26             System.out.println("========子目录|文件File对象=======");
    27             File[] subFiles = src.listFiles();
    28             for(File temp:subFiles) {
    29                 System.out.println(temp.getAbsolutePath());
    30             }
    31             System.out.println("========子目录.java对象=======");
    32             //命令设计模式
    33             subFiles = src.listFiles(new FilenameFilter() {
    34                 
    35                 @Override
    36                 /**
    37                  * dir 代表src
    38                  */
    39                 public boolean accept(File dir, String name) {
    40 //                    System.out.println(dir.getAbsolutePath());
    41                     return new File(dir,name).isFile() &&  name.endsWith(".java");
    42                 }
    43                 
    44             });
    45             for(File temp:subFiles) {
    46                 System.out.println(temp.getAbsolutePath());
    47             }
    48             
    49             
    50         }
    51     }
    52     
    53     public static void test1() {
    54         String path = "E:/xp/test/parent/test";
    55         File src = new File(path);
    56 //        src.mkdir();
    57         src.mkdirs();
    58     }
    59     
    60 }

    运行结果:

    ========子目录|文件名=======
    2.jpg
    a.txt
    Demo03.java
    test
    ========子目录|文件File对象=======
    E:xp	est2.jpg
    E:xp	esta.txt
    E:xp	estDemo03.java
    E:xp	est	est
    ========子目录.java对象=======
    E:xp	estDemo03.java

    案例二:输出子孙级目录

     1 package com.bjsxt.io.file;
     2 
     3 import java.io.File;
     4 import java.util.Arrays;
     5 
     6 /**
     7  * 输出子孙级目录|文件的名称(绝对路径)
     8  * 1、listFiles()
     9  * 2、递归
    10  *
    11  * static listRoots()  根路径
    12  * 
    13  */
    14 public class Demo05 {
    15     public static void main(String[] args) {
    16         String path = "E:/xp/test";
    17         File parent = new File(path);
    18 //        printName(parent);
    19         
    20         File[] roots = File.listRoots();
    21         System.out.println(Arrays.toString(roots));  //[C:\, D:\, E:\, F:]
    22         for(File temp:roots) {
    23 //            printName(temp);
    24         }
    25     }
    26     /**
    27      * 输出路径
    28      */
    29     public static void printName(File src) {
    30         if(null==src || !src.exists()) {
    31             return;
    32         }
    33         System.out.println(src.getAbsolutePath());
    34         if(src.isDirectory()) {
    35             for(File sub:src.listFiles()) {
    36                 printName(sub);
    37             }
    38         }
    39     }
    40     
    41 }
  • 相关阅读:
    HDU 3999 The order of a Tree (排序二叉树的先序遍历)
    如何从 100 亿 URL 中找出相同的 URL?
    Tomcat源码分析 | 一文详解生命周期机制Lifecycle
    SqlSession与SqlSessionFactory到底是什么关系?
    spring boot-jpa整合QueryDSL来简化复杂操作
    EasyExcel读写Excel
    如何将List集合中相同属性的对象合并
    @Data 注解引出的 lombok
    MySQL配置连接
    Django创建
  • 原文地址:https://www.cnblogs.com/swimminglover/p/8417212.html
Copyright © 2020-2023  润新知