• Java学习之IO流(FIle类)


    File类:文件、文件夹(目录)、路径的描述

    一、构造函数

      File​(File parent, String child);     File从父抽象路径名和子路径名字符串创建新实例。
      File​(String pathname);        File通过将给定的路径名​​字符串转换为抽象路径名来创建新实例。
      File​(String parent, String child);    File根据父路径名字符串和子路径名字符串创建新实例。
      File​(URI uri);            File通过将给定file:URI转换为抽象路径名来创建新实例 。

    二、字段

      static String pathSeparator 系统相关的路径分隔符。(Windows系统中path1;path2;)中的;分隔路径
      static char pathSeparatorChar 与系统有关的路径分隔符。
      static String separator 系统相关的默认名称分隔符。(Windows系统中c:\)中的\
      static char separatorChar 取决于系统的默认名称分隔符。

    三、常见功能

    获取文件名
      String getName();
      String getPath();//获取文件路径
      String getAbsolutePath();绝对路径
    获取文件大小
      long length();//获取文件大小
    获取目录空间大小
      long getFreeSpace();//空闲空间(常用)
      long getTotalSpace();//总空间
      long getUsableSpace();//可用空间
    获取文件修改时间
      long lastModified();
    创建
      boolean createNewFile();//创建文件,如果存在就创建,否则,就不创建
      static File createTempFile​(String prefix, String suffix) //使用给定的前缀和后缀生成其名称
     
    创建目录
      boolean mkdir();//单级目录
      boolean mkdirs();//多级目录
    删除
      boolean delete();//慎用可以删除文件或目录(目录中不能有文件或文件夹,)
      void deleteOnExit();//退出时,删除
    判断
      boolean exists();//存在判断
      boolean isAbsolute();//绝对路径
      boolean isDirectory();//目录判断
      boolean isFile();//文件判断
      boolean isHidden();//隐藏判断
    重命名
      boolean renameTo​(File dest);//有剪切功能效果
    换取系统根目录集合
      static File[] listRoots()
    其他:
      String[] list();//当前目录下的文件夹名称和文件(包含隐藏文件),必须是目录
      String[] list​(FilenameFilter filter);//过滤器(后缀名:name.endsWith(".java"))

    例子深度遍历文件夹:

     1 public static void main(String[] args) {
     2     File dir=new File("目录");
     3     getListAll(dir,0);
     4     }
     5 
     6     private static void getListAll(File dir,int level) {
     7     System.out.println(getSpace(level)+dir.getName());
     8     File[] list=dir.listFiles();
     9     level++;
    10     for(File f:list) {
    11         if(f.isDirectory()) {
    12         getListAll(f,level);
    13         }else {
    14         System.out.println(getSpace(level)+f.getName());
    15         }        
    16     }
    17     }
    18 
    19     private static String getSpace(int level) {
    20     StringBuilder sb=new StringBuilder();
    21     sb.append("|--");
    22     for(int i=0;i<level;i++) {
    23         sb.insert(0, " ");
    24     }
    25     return sb.toString();
    26     }
  • 相关阅读:
    有感:假设在透明的竞争条件下的中国软件企业
    庆祝一下:www.pinstudy.com在GOOGLE 上的PR值为:3
    性能最大化ΔΣ 转换器
    静态时序分析(STA,Static Timing Analysis)基础与应用3
    云计算 Cloud Computing 简介
    CORDIC算法
    Computer Science 计算机科学与技术系 重要国际学术会议
    云上的安全 Cloud Technology
    Electronic Engineering 电子工程系 信息与通信工程一级学科 重要国际学术会议汇总
    Microelectronic 微纳电子学系 重要国际学术会议
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12133462.html
Copyright © 2020-2023  润新知