当前位置: 首页 > 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());}}

相关文章:

Day(16)--File

File File对象就是表示一个路径,可以是文件路径,也可以是文件夹的路径 这个路径可以是存在的,也允许是不存在的 常见的方法 public File(String pathname);//根据文件路径创建文件对象 public File(String parent,String child);//根据父路…...

Axios入门使用

文章目录 Axios入门使用一、引言二、Axios的安装与配置1、安装Axios2、创建Axios实例 三、发送HTTP请求1、GET请求2、POST请求3、并发请求 四、配置和拦截器1、配置默认值2、拦截器 五、错误处理和取消请求1、错误处理2、取消请求 四、总结 Axios入门使用 一、引言 随着前端技…...

大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓

文章目录 基于Flink+Hologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓​编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业O…...

关于HTML 案例_个人简历展示02

展示效果 用table进行布局label 标签进行关联 例如&#xff1a;点姓名就可以到text中去填写内容 input的使用 text 文本框radio 单选框select与option 选择框checkbox 复选框 textareaul与li 无序列表文中图片是本地的 链接: 图片下载地址 代码 <!DOCTYPE html> <…...

Windows 11 24H2 v26100.1742 官方简体中文版

‌Windows 11 24H2是微软最新推出的操作系统更新&#xff0c;其在人工智能&#xff08;AI&#xff09;领域的创新为用户带来了显著的体验提升。该版本的一大亮点是AI Copilot&#xff0c;它能够智能地根据剪贴板内容调整操作上下文菜单&#xff0c;实现更智能化的交互。 此外&…...

【AIGC半月报】AIGC大模型启元:2024.10(上)

【AIGC半月报】AIGC大模型启元&#xff1a;2024.10&#xff08;上&#xff09; (1) YOLO11&#xff08;Ultralytics新作&#xff09; (1) YOLO11&#xff08;Ultralytics新作&#xff09; 2024.10.01 Ultralytics在 YOLO Vision 2024 活动上宣布发布其新的计算机视觉模型 YOLO…...

Codeforces Beta Round 14 (Div. 2) E. Camels (DP)

题目 Bob likes to draw camels: with a single hump, two humps, three humps, etc. He draws a camel by connecting points on a coordinate plane. Now he’s drawing camels with t humps, representing them as polylines in the plane. Each polyline consists of n ve…...

CSID-GAN:基于生成对抗网络的定制风格室内平面设计框架论文阅读

CSID-GAN: A Customized Style Interior Floor Plan Design Framework Based on Generative Adversarial Network 摘要前言II. CSID-GAN METHODA. Overall FrameworkB. Algorithm and Loss Function III. DATASETS AND EVALUATION METRICSA. DatasetsB. Evaluation Metrics IV.…...

02SQLite

文章目录 索引创建索引删除索引索引优点及缺点&#xff1f;避免使用索引 视图创建视图删除视图 事务事务控制命令通过事务方式对数据库进行访问优势&#xff1a; 索引 创建索引 索引&#xff08;Index&#xff09;是一种特殊查找表&#xff0c;数据库搜索引擎用来加速数据检索…...

学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)

在线学籍管理平台系统 目录 基于SpringbootVUE的在线学籍管理平台系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…...

JDBC编程

前言&#xff1a; 你是否见过用Java连接数据库的操作&#xff0c;对没错&#xff0c;今天我们要讲的就是这个“高级”操作&#xff0c;做好准备全程高速。 API&#xff1a; 什么是API&#xff1f;我喜欢先把它的全称说一下&#xff1a;Application Programming Interface。简…...

Python : 类变量、静态方法、类方法

文章目录 前言1 类变量(Java静态变量)2 Python中的静态方法(使用 @staticmethod 装饰器声明)3 类方法(使用 @classmethod 装饰器声明)4 静态方法和类方法的区别前言 学完Java过后,对python中有了一些疑惑。Java中有static修饰的静态变量和静态方法这两个很用用的知识点…...

大厂笔试现已经禁用本地IDE怎么看

如果我说本来面试做题这种事情就是反人类你相信吗&#xff1f; 这个罪恶的源头就是 Google&#xff0c;说是为了选择高素质的计算机编程水平的人才&#xff0c;然后把面试就变成了考试&#xff0c;最大的受益者当然是印度人了。 当把一个考察过程变成标准化的考试过程&#x…...

【PostgreSQL】入门篇——如何创建、删除和管理数据库及其用户,包括权限设置和角色管理

PostgreSQL 数据库及用户管理 1. 创建数据库 1.1 使用 SQL 命令创建数据库 在 PostgreSQL 中&#xff0c;可以使用 CREATE DATABASE 命令来创建数据库。以下是基本语法&#xff1a; CREATE DATABASE database_name;示例&#xff1a; CREATE DATABASE my_database;1.2 使用…...

网络安全:保护数字时代的堡垒

网络安全&#xff1a;保护数字时代的堡垒 引言&#xff1a; 在数字化时代&#xff0c;网络安全的重要性日益凸显。它不仅关系到个人隐私保护&#xff0c;还涉及国家安全和经济发展。随着技术的发展&#xff0c;网络安全的威胁也在不断进化&#xff0c;从个人设备到企业网络&am…...

【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片str)

【rCore OS 开源操作系统】Rust 语法详解: Strings 前言 这次涉及到的题目相对来说比较有深度&#xff0c;涉及到 Rust 新手们容易困惑的点。 这一次在直接开始做题之前&#xff0c;先来学习下字符串相关的知识。 Rust 的字符串 Rust中“字符串”这个概念涉及多种类型&…...

远程过程调用RPC知识科普

文章目录 什么是RPCRPC的基本原理RPC的应用场景RPC的优势常见的RPC框架 常见的RPC协议1. gRPC2. Apache Thrift3. Dubbo4. JSON-RPC5. XML-RPC6. SOAP springboot环境下常用的RPC框架使用1. Apache Dubbo2. Apache Thrift3. gRPC4. Spring Cloud OpenFeign 什么是RPC RPC&…...

Java - LeetCode面试经典150题 - 区间 (三)

区间 228. 汇总区间 题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中…...

NVIDIA网卡系列之ConnectX-6 DX规格信息(200G-PCIe 4.0x16-8PF1000VF-2019年发布)

背景 NVIDIA ConnectX-6是最大支持200G的产品&#xff0c;有DX LX等系列。LX一般是25G比较便宜。 核心关键点 200GbpsPCIe 4.0&#xff0c;最大lane: x16 (4.0的lane速 16GT/s * 16 256T/s&#xff0c;所以支持的是200G的网卡用PCIe4.0)QSFPPF&#xff0c;VF数量&#xff1…...

【案例】平面云

教程案例视频&#xff1a;Unity Shader Graph - 云教程 开发平台&#xff1a;Unity 2022 开发工具&#xff1a;Unity ShaderGraph   一、效果展示 二、ShaderGraph 路线图 三、案例分析 核心思路&#xff1a;使用 Noise&#xff08;噪声&#xff09;模拟云层状态   3.1 说明…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

DiscuzX3.5发帖json api

参考文章&#xff1a;PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下&#xff0c;适配我自己的需求 有一个站点存在多个采集站&#xff0c;我想通过主站拿标题&#xff0c;采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...