当前位置: 首页 > news >正文

Day(16)--File

File

File对象就是表示一个路径,可以是文件路径,也可以是文件夹的路径

这个路径可以是存在的,也允许是不存在的

  • 常见的方法

    public File(String pathname);//根据文件路径创建文件对象
    public File(String parent,String child);//根据父路径名字字符串和子路径名字字符串创建文件对象
    public File(File parent,String child);//根据父路径对应文件对象和子路径名字符串创建文件对象

路径

相对路径:是不带盘符的,默认到当前项目下去找

绝对路径:是带盘符的

常见方法

在 Java 中,java.io.File类提供了许多用于操作文件和目录的方法。以下是一些常见的方法:

一、文件基本信息获取方法

  1. getName()

    • 返回此抽象路径名表示的文件或目录的名称。

    • 如果调用者是一个文件,那返回的就是文件名加文件后缀名

    • 如果调用者是一个文件夹,那返回的就是一个文件夹的名字

    • 例如:

     File file = new File("test.txt");String name = file.getName();System.out.println(name); // 输出:test.txt
  1. getPath()

    • 将此抽象路径名转换为一个路径名字符串。

    • 例如:

     File file = new File("test.txt");String path = file.getPath();System.out.println(path); // 输出:test.txt(如果在当前目录下)
  1. getAbsolutePath()

    • 返回此抽象路径名的绝对路径名字符串。

    • 例如:

     File file = new File("test.txt");String absolutePath = file.getAbsolutePath();System.out.println(absolutePath); // 输出:具体的绝对路径,如 /home/user/test.txt
  1. length()

    • 返回此抽象路径名表示的文件的长度(以字节为单位)。如果文件不存在,则返回 0。

    • 这个方法只能获取文件大小,单位是!!!字节

    • 如果单位是M,G,可以不断除以1024

      len/1024 ==KB

      len/1024/1024 == MB

      三次 ===G

    • 这个方法无法获得文件夹的大小,需要把这个文件夹里面的文件大小都累加起来了

    • 例如:

     File file = new File("test.txt");long length = file.length();System.out.println(length);

二、文件判断方法

  1. exists()

    • 测试此抽象路径名表示的文件或目录是否存在。

    • 例如:

     File file = new File("test.txt");boolean exists = file.exists();System.out.println(exists);
  1. isFile()

    • 测试此抽象路径名表示的文件是否是一个标准文件。

    • 例如:

     File file = new File("test.txt");boolean isFile = file.isFile();System.out.println(isFile);
  1. isDirectory()

    • 测试此抽象路径名表示的文件是否是一个目录。

    • 例如:

     File file = new File("test.txt");boolean isDirectory = file.isDirectory();System.out.println(isDirectory);

三、文件操作方法

  1. createNewFile()

    • 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

    • 如果父级路径是不存在的那么方法会有异常

    • createNewFile方法创建的一定是一个文件,如果路径中不包括后缀名则创建的是一个没有后缀名的文件

    • 例如:

     File file = new File("newFile.txt");try {boolean created = file.createNewFile();if (created) {System.out.println("文件创建成功!");} else {System.out.println("文件已存在!");}} catch (IOException e) {e.printStackTrace();}
  1. delete()

    • 删除此抽象路径名表示的文件或目录。

    • 如果删除的是文件,则直接删除,不走回收站

      如果删除的是空文件夹,则直接删除,不走回收站

      如果删除的是有内容的文件夹,则删除失败

    • 例如:

     File file = new File("toDelete.txt");boolean deleted = file.delete();System.out.println(deleted? "文件删除成功!" : "文件删除失败!");

四、目录操作方法

  1. mkdir()

    • 创建此抽象路径名指定的目录。

    • windows操作系统中,路径是不能重复的

    • 只能创建单级文件夹,不能创建多级文件夹

    • 例如:

     File directory = new File("newDirectory");boolean created = directory.mkdir();System.out.println(created? "目录创建成功!" : "目录创建失败!");
  1. mkdirs()

    • 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

    • 既可以创建单级的文件夹也可以创建多级的

    • 例如:

     File deepDirectory = new File("parent/child/newDirectory");boolean created = deepDirectory.mkdirs();System.out.println(created? "目录创建成功!" : "目录创建失败!");

五、文件列表方法

  1. list()

    • 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。

    • 例如:

     File directory = new File("/home/user");String[] files = directory.list();if (files!= null) {for (String file : files) {System.out.println(file);}}
  1. listFiles()

    • 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。

    • 获取文件夹里的所有内容,把所有内容放到数组中返回。依次表示

    • 当调用者File表示的路径不存在时,返回null

    • 当调用者File表示的路径是文件时,返回null

    • 当调用者File表示的路径是一个空文件夹的时候,返回的是一个长度为0的数组

    • 当调用者File表示的路径是一个有内容的文件夹时,将里面所有的文件和文件夹的路径放在File数组中返回。如果有隐藏文件夹,也一起返回

    • 当调用者File表示的路径是需要权限才能访问的文件夹时,返回null

    • 例如:

     File directory = new File("/home/user");File[] files = directory.listFiles();if (files!= null) {for (File file : files) {System.out.println(file.getName());}}

http://www.lryc.cn/news/453662.html

相关文章:

  • Axios入门使用
  • 大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓
  • 关于HTML 案例_个人简历展示02
  • Windows 11 24H2 v26100.1742 官方简体中文版
  • 【AIGC半月报】AIGC大模型启元:2024.10(上)
  • Codeforces Beta Round 14 (Div. 2) E. Camels (DP)
  • CSID-GAN:基于生成对抗网络的定制风格室内平面设计框架论文阅读
  • 02SQLite
  • 学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
  • JDBC编程
  • Python : 类变量、静态方法、类方法
  • 大厂笔试现已经禁用本地IDE怎么看
  • 【PostgreSQL】入门篇——如何创建、删除和管理数据库及其用户,包括权限设置和角色管理
  • 网络安全:保护数字时代的堡垒
  • 【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片str)
  • 远程过程调用RPC知识科普
  • Java - LeetCode面试经典150题 - 区间 (三)
  • NVIDIA网卡系列之ConnectX-6 DX规格信息(200G-PCIe 4.0x16-8PF1000VF-2019年发布)
  • 【案例】平面云
  • 测试用例的进阶二
  • zotero WebDAV同步忘记密码
  • 如何在 SQL 中创建一个新的数据库?
  • 《Linux从小白到高手》理论篇:Linux的进程管理详解
  • 【Qt】控件概述(3)—— 显示类控件
  • 数据库管理-第247期 23ai:全球分布式数据库-Schema对象(20241004)
  • Docker搭建一款开源的文档管理系统
  • 软件验证与确认实验一:静态分析
  • 基于SpringBoot+Vue的高校运动会管理系统
  • 什么东西可以当做GC Root,跨代引用如何处理?
  • Python深度学习:从神经网络到循环神经网络