Java | File类

目录:

    • File类
    • File类中常用的方法:
      • [boolean exists( ) :判断此 文件/目录 是否存在](#boolean exists( ) :判断此 文件/目录 是否存在)
      • [boolean createNewFile( ) :创建一个文件](#boolean createNewFile( ) :创建一个文件)
      • [boolean mkdir( ) :创建 "单层" 目录/文件夹](#boolean mkdir( ) :创建 “单层” 目录/文件夹)
      • [boolean mkdirs( ) :创建 "多层" 目录/文件夹](#boolean mkdirs( ) :创建 “多层” 目录/文件夹)
      • [String getParent( ) : 获得指定 "文件/目录"的 "父路径"](#String getParent( ) : 获得指定 “文件/目录”的 “父路径”)
      • [File getParentFile( ) : 获得指定 "文件/目录"的 "父路径"](#File getParentFile( ) : 获得指定 “文件/目录”的 “父路径”)
      • [String getAbsolutePath( ) : 获得绝对路径](#String getAbsolutePath( ) : 获得绝对路径)
      • [boolean delete( ) : 删除文件/目录](#boolean delete( ) : 删除文件/目录)
      • [String getName( ) : 获得文件/路径 的名称](#String getName( ) : 获得文件/路径 的名称)
      • [boolean isDirectory( ) : 判断是否是一个目录/文件夹](#boolean isDirectory( ) : 判断是否是一个目录/文件夹)
      • [boolean isFile( ) : 判断是否是一个文件](#boolean isFile( ) : 判断是否是一个文件)
      • [long lastModified( ) : 获得文件最后一次修改时间 ( 毫秒数 )](#long lastModified( ) : 获得文件最后一次修改时间 ( 毫秒数 ))
      • [long length( ) : 获取文件大小](#long length( ) : 获取文件大小)
      • [File[ ] listFiles( ) : 获取当前目录下的所有子文件](#File[ ] listFiles( ) : 获取当前目录下的所有子文件)

File类

  • File类 代表 :文件目录路径名 的++抽象表示形式++ 。(File可以是一个文件 ,也可以是一个目录)
  • File类IO流 没有关系,File不能 完成文件的

File类中常用的方法:

boolean exists( ) :判断此 文件/目录 是否存在

java 复制代码
   //创建File对象
   File f1 = new File("D:///Apple.txt");

   //判断文件是否存在 
   boolean b = f1.exists();
   System.out.println(b);

boolean createNewFile( ) :创建一个文件

java 复制代码
  //创建File对象
  File f1 = new File("D:/Apple123.txt");

  //创建一个txt文件 ( 在D盘下创建一个Apple.txt文件 )
  boolean b = f1.createNewFile();
  System.out.println(b);

boolean mkdir( ) :创建 "单层" 目录/文件夹

  • mkdir( ) : 创建 "单层" 目录。

    一次 只能创建一个目录/文件夹 ,如果路径中有多个目录 ,则会创建失败

    例子如:

    java 复制代码
       //创建File对象
       File f1 = new File("D:/App168.txt");
      /**
       * 创建一个目录/文件夹 ( 在D盘下创建一个名为: Apple.txt 的目录/文件夹)
       *
       * "D:\\Apple.txt" : 只有一层 "未创建"目录,此时可创建且不报错
       */
       boolean b =f1.mkdir(); //创建"单层"目录
       System.out.println(b);

boolean mkdirs( ) :创建 "多层" 目录/文件夹

  • mkdirs( ) : 创建 "多层" 目录。路径中有多少个目录/文件 ,则创建多少个目录/文件

    例子如:

    java 复制代码
      //创建File对象
      File f1 = new File("D:/aaa/bbb/ccc");
    
      boolean b =f1.mkdirs(); //创建"多层"目录
      System.out.println(b);

String getParent( ) : 获得指定 "文件/目录"的 "父路径"

  • getParent( ) : 获得指定 "文件/目录"的 "父路径 " , 返回值String 类型,如果其没有父路径 ,则返回null

    java 复制代码
       File f1 = new File("D:/aaa/bbb/ccc/App168.txt");
       //获得指定 "文件/目录"的 "父路径"
       String parent1 = f1.getParent();
       System.out.println(parent1); // 输出路径为: D:/aaa/bbb/ccc
    
    
       System.out.println();
       File f2 = new File("D:/aaa/bbb/ccc");
       //获得指定 "文件/目录"的 "父路径"
       String parent2 = f2.getParent();
       System.out.println(parent2); // 输出路径为: D:/aaa/bbb
    
    
       System.out.println();
       File f3 = new File("D:/aaa/bbb");
       //获得指定 "文件/目录"的 "父路径"
       String parent3 = f3.getParent();
       System.out.println(parent3); // 输出路径为: D:/aaa

File getParentFile( ) : 获得指定 "文件/目录"的 "父路径"

  • getParentFile( ) : 获得指定 "文件/目录"的 "父路径 " 。返回值File 对象,如果其没有父路径 ,则返回null

    例子如:

    java 复制代码
       File f1 = new File("D:\\aaa\\bbb\\ccc\\App168.txt");
       //获得指定 "文件/目录"的 "父路径",返回值为File对象
       File parentFile = f1.getParentFile(); //此时其路径为:  D:\aaa\bbb\ccc
       //获得绝对路径
       String path =parentFile.getAbsolutePath();
       System.out.println(path); // 输出路径为: D:\aaa\bbb\ccc

String getAbsolutePath( ) : 获得绝对路径

java 复制代码
   File f1 = new File("D:\\aaa\\bbb\\ccc\\App168.txt");
   //获得绝对路径
   String path =f1.getAbsolutePath();
   System.out.println(path); // 输出路径为: D:\aaa\bbb\ccc\App168.txt

boolean delete( ) : 删除文件/目录

java 复制代码
  File f = new File("D:\\aaa\\file.txt");
  // 删除文件/目录
  boolean b = f.delete(); //把file.txt给删除
  System.out.println(b); //true

String getName( ) : 获得文件/路径 的名称

java 复制代码
  File f = new File("D:/file.txt");
  // 获取 文件/路径 的名称
  String name = f.getName();
  System.out.println(name); // file.txt

boolean isDirectory( ) : 判断是否是一个目录/文件夹

java 复制代码
   File f = new File("D:/file.txt");
   // 判断是否是一个目录/文件夹
   boolean b = f.isDirectory();
   System.out.println(b);  //false

boolean isFile( ) : 判断是否是一个文件

java 复制代码
   File f = new File("D:/file.txt");
   // 判断是否是一个文件
   boolean b = f.isFile();
   System.out.println(b);  //true

long lastModified( ) : 获得文件最后一次修改时间 ( 毫秒数 )

java 复制代码
   File f = new File("D:/file1.txt");
   // 获得文件最后一次修改时间
   long time = f.lastModified();//这个毫秒是从1970年到现在的总毫秒数
   //将总毫秒数转换为日期
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SS");
   String strTime = sdf.format(time);
   System.out.println(strTime);

long length( ) : 获取文件大小

java 复制代码
  File f = new File("D:/file.txt");
  // 获取文件大小
  long length = f.length();
  System.out.println(length);

File[ ] listFiles( ) : 获取当前目录下的所有子文件

java 复制代码
   File f = new File("D:/apple");
   //获取当前目录下的所有子文件
   File[] files = f.listFiles();
   for (File file : files) {
   System.out.println(file.getAbsolutePath());  //获得真实路径
相关推荐
无为之士38 分钟前
君正交叉编译链工具mips-gcc540-glibc222-64bit-r3.3.0.smaller.bz2编译st-device-sdk-c
c语言·开发语言
源力祁老师2 小时前
深入分析 json2(新)与标准的 jsonrpc的区别
开发语言
小wanga2 小时前
C++知识
java·开发语言·c++
学渣676562 小时前
文件传输工具rsync|rust开发环境安装|Ascend实验相关命令
开发语言·后端·rust
木心爱编程2 小时前
C++容器内存布局与性能优化指南
开发语言·c++·性能优化
我是渣哥2 小时前
Java String vs StringBuilder vs StringBuffer:一个性能优化的探险故事
java·开发语言·jvm·后端·算法·职场和发展·性能优化
工一木子2 小时前
深入Java并发:锁机制原理剖析与性能优化实战
java·性能优化·并发·
你我约定有三2 小时前
java--写在 try 中的创建连接
java·开发语言
ERP老兵-冷溪虎山2 小时前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南
科技树支点2 小时前
无GC的Java创新设计思路:作用域引用式自动内存管理
java·python·go·web·编程语言·编译器