zoukankan      html  css  js  c++  java
  • 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完成,并不复杂,重温了递归操作。

  • 相关阅读:
    第十二节:类的定义
    第十二节:类的定义
    第十二节:类的定义
    Android核心技术Intent和数据存储篇
    Android核心技术Intent和数据存储篇
    Android核心技术Intent和数据存储篇
    ObjectDataSource配置数据源的时候,选择业务对象下拉菜单没有任何东西
    两个时间相差多少 .net中的timespan应用
    net3:DropDownList的动态绑定
    ADO:DataSet存入缓存Cache中并使用
  • 原文地址:https://www.cnblogs.com/zhao307/p/5344781.html
Copyright © 2011-2022 走看看