• Java.io.File


    File 文件:

      Java.io.File用于标识文件(目录)

      File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。

      File类常用的API:   exists()判断是否存在    mkdir()创建目录  createNewFile()创建文件   getAbsolutePath()  getParent()获取地址

      File类用于判断文件或目录,以及创建他们

      File.separator 设置分隔符

    package com.zhao.file;
    
    import java.io.File;
    import java.io.IOException;
    import java.nio.file.*;
    
    public class FileDemo{
    
    public static void main(String[] args) {
    //了解构造函数的情况 查帮助
    java.io.File directory=new java.io.File("D:\imooc");
    //    System.out.println(file.exists());
    if (!directory.exists()) {
    //创建目录
    directory.mkdir();
    }
    else{
    directory.delete();
    }
    
    File file=new File("D:"+File.separator+"imooc"+File.separator+"日记.txt");
    if (!file.exists()) {
    try {
    file.createNewFile();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    else{
    file.delete();
    }
    
    System.out.println(file);
    System.out.println(file.getAbsolutePath());
    System.out.println(file.getParentFile());
    System.out.println(file.getParent());
    System.out.println(file.getPath());
    }
    }
    
     
    
    创建FileUitl类,实现目录遍历的功能
    
    /**
    * 列出指定目录下(包括其子目录)的所有文件
    * @param dir:指定目录
    * @throws IOException
    */
    public static void listDirectory(File dir) throws IOException{
    if (!dir.exists()) {
    System.out.println("指定目录不存在,查询失败");
    }
    else if (!dir.isDirectory()) {
    System.out.println("传递的参数有误,不是目录");
    }
    else{
    //返回的是直接子目录(文件)的抽象
    File[] files=dir.listFiles();
    for(File file:files){
    if (file.isDirectory()) {
    System.out.println("Directory :"+file.getName()+", "+file.getAbsolutePath()+"---> Parent :"+file.getParent());
    //递归
    listDirectory(file);
    }
    else if(file.isFile()){
    System.out.println("File :"+file.getName()+", "+file.getAbsolutePath());
    }
    }
    }
    }

    在此方法中,先判断传入的文件dir是否存在,是否是目录。

    在dir是目录的情况下,dir.listFiles()方法返回该目录下所有的子文件(目录)的抽象

    此时仍需要判断File[] 中的每个File是文件还是目录,是文件还好,是目录的话进行递归操作。

    listDirectory(File)循环调用,对所有目录都进行遍历

    至此FiltUtil的listDirectory完成,并不复杂,重温了递归操作。

  • 相关阅读:
    ibatis 循环迭代
    javascript 中Table、TableCell 、TableRow对象
    Java重载Java构造器
    java垃圾回收机制
    Java在J2EE工程中路径寻址问题终极解决方案
    JAVASCRIPT 验证计算中英文混合字符串长度的解决
    java基础学习及总结
    ORACLE nvarchar2和varchar2的区别
    StringBuffer的用法
    关于Ant下的路径查找
  • 原文地址:https://www.cnblogs.com/zhao307/p/5344781.html
Copyright © 2020-2023  润新知