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

JAVA——File类

目录

1.概述

2.构造方法

a.根据文件路径创建文件对象

b.根据父级路径和子级路径创建对象

c.根据File表示的路径和String表示路径进行拼接

3.常见方法

a.判断文件是否存在

b.判断文件是否为文件夹

c.判断是否为文件

d.获取文件大小

e.获取文件的绝对路径

f.获取定义时的路径

g.获取文件名称

 h.获取最后一次修改时间的毫秒值

i.创建一个空文件

j.创建文件夹(目录)

k.创建多级文件夹

l.删除文件

n.获取并遍历

了解:

a.获取系统中所有的盘符

b.获取当前该路径下所有文件名字

c.利用文件过滤器获取所有文件名字

d.利用文件过滤器获取所有文件对象


1.概述

File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径,这个路径可以是存在的,也允许是不存在的

2.构造方法

a.根据文件路径创建文件对象

b.根据父级路径和子级路径创建对象

父级路径:父级路径指的是在文件系统中,一个文件或目录所在的上一级目录的路径。

子级路径:子级路径指的是在文件系统中,位于某个父目录(或父文件,但实际上通常为父目录)下的文件或目录的路径。

c.根据File表示的路径和String表示路径进行拼接

3.常见方法

a.判断文件是否存在

b.判断文件是否为文件夹

c.判断是否为文件

d.获取文件大小

e.获取文件的绝对路径

f.获取定义时的路径

g.获取文件名称

 h.获取最后一次修改时间的毫秒值

i.创建一个空文件

注意:

          1.创建成功返回true,创建失败返回false

          2.如果父级路径不存在,方法会抛出IOException

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

j.创建文件夹(目录)

注意:

       1.windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false

       2.mkdir方法只能创建单级文件夹,无法创建多级文件夹

k.创建多级文件夹

注意:既可以创建单级的,又可以创建多级文件夹

l.删除文件

注意:如果删除的是文件,直接删除,不走回收站;如果删除的是空文件夹,则直接删除,不走回收站;如果删除的是有内容的文件夹,则删除

n.获取并遍历

注意:

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

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

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

        4.当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回
        5.当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件

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

了解:

a.获取系统中所有的盘符

b.获取当前该路径下所有文件名字

c.利用文件过滤器获取所有文件名字

案例:

String[] list = file.list(new FilenameFilter() {@Override//                       父级路径      子级路径public boolean accept(File dir, String name) {File file1 = new File(dir, name);if(file1.isFile()&&name.endsWith(".txt")){return true;}return false;}});

d.利用文件过滤器获取所有文件对象

File[] files = file.listFiles(new FilenameFilter() {@Override
//                             父级路径对象  子级路径名称public boolean accept(File dir, String name) {File file1 = new File(dir, name);if (file1.isFile() && name.endsWith(".txt")) {return true;}return false;}});
 File[] files = file.listFiles(new FileFilter() {@Override//                         文件对像public boolean accept(File pathname) {if (pathname.isFile() && pathname.getName().endsWith(".txt")) {return true;}return false;}});

相关文章:

JAVA——File类

目录 1.概述 2.构造方法 a.根据文件路径创建文件对象 b.根据父级路径和子级路径创建对象 c.根据File表示的路径和String表示路径进行拼接 3.常见方法 a.判断文件是否存在 b.判断文件是否为文件夹 c.判断是否为文件 d.获取文件大小 e.获取文件的绝对路径 f.获取定义…...

掌握Postman,开启API测试新纪元!

Postman是一款流行的API测试工具和开发环境,旨在简化API开发过程、测试和文档编制。它提供了一套功能强大的工具,帮助开发人员更轻松地构建、测试和调试Web服务。 Postman 工具的优势 Postman 可以快速构建请求、还可以保存以后再使用。 Postman 还提…...

JAVA-数据结构-排序

1.直接插入排序 1.原理&#xff1a;和玩扑克牌一样&#xff0c;从左边第二个牌开始&#xff0c;选中这个&#xff0c;和前面的所有牌比较&#xff0c;插在合适的位置 public static void insertsort(int[] arr){//直接插入排序for (int i 1; i < arr.length; i) {//此循环…...

初识数据结构--时间复杂度 和 空间复杂度

数据结构前言 数据结构 数据结构是计算机存储、组织数据的方式(指不仅能存储数据&#xff0c;还能够管理数据-->增删改)。指相互之间存在一种或多种特定关系的数据元素的集合。没有单一的数据结构对所有用途都有用&#xff0c;所以我们要学习各种的数据结构&#xff0c;比…...

Ubuntu QT 交叉编译环境搭建

文章目录 下载安装qtCreatornot a valid identifier 的错误 安装g下载并安装交叉编译器下载交叉编译器安装交叉编译器 下载编译 ARM 的Qt平台源码配置arm的QT平台 下载安装qtCreator 去QT下载官网下载对应需要的QT软件。 这里下载5.12.96版本的 改变安装包权限&#xff0c;…...

C语言中缓冲区底层实现以及数据输入的处理

C语言中缓冲区底层实现以及数据输入的处理 一、缓冲区的概念 在C语言的标准输入输出操作中&#xff0c;缓冲区&#xff08;Buffer&#xff09; 扮演着至关重要的角色。在计算机系统中&#xff0c;缓冲区是一块用于暂存数据的内存区域。在输入输出&#xff08;I/O&#xff09;…...

RocketMQ事务消息原理

一、RocketMQ事务消息原理&#xff1a; RocketMQ 在 4.3 版本之后实现了完整的事务消息&#xff0c;基于MQ的分布式事务方案&#xff0c;本质上是对本地消息表的一个封装&#xff0c;整体流程与本地消息表一致&#xff0c;唯一不同的就是将本地消息表存在了MQ内部&…...

【Java】IntelliJ IDEA开发环境安装

一、下载 官方地址&#xff1a;https://www.jetbrains.com/idea/ 点击Download直接下载 二、安装 双击安装包&#xff0c;点击Next 选择安装路径&#xff0c;点击Next 勾选安装内容 安装完成。 三、创建项目 打开IDEA&#xff0c;填写项目名称&#xff0c;选择项目安装路径…...

Go语言中的通道 (Channel) 实践:Goroutine之间的通信

1. 引言 在Go语言中&#xff0c;并发编程是其核心优势之一。与其他编程语言不同&#xff0c;Go语言推荐使用通道 (Channel) 来进行多线程或并发任务的协调与通信&#xff0c;而非使用锁机制。本文将介绍如何通过通道在多个goroutine之间进行通信&#xff0c;避免竞争条件和复杂…...

常用类(二)--String类的简单总结

文章目录 1.基本介绍1.1创建对象1.2找到对应下标的字符1.3找到对应字符的下标1.4指定位置开始遍历1.5反向进行遍历1.6大小写之间的转换1.7字符串转换为数组1.8元素的替换1.9字符串的分割1.10字符串的截取 2.StringBuilder和StringBuffer2.1 StringBuilder的引入2.2面试题目 1.基…...

Spring Boot开发:从入门到精通

Spring Boot开发&#xff1a;从入门到精通 当你在开发一个新的Java应用时&#xff0c;是否曾经感到苦恼于繁琐的配置和重复的代码&#xff1f;Spring Boot就像一位友好的助手&#xff0c;向你伸出援手&#xff0c;让开发变得轻松愉快。从这一单一框架中&#xff0c;你可以快速…...

《数据结构》--队列【各种实现,算法推荐】

一、认识队列 队列是一种常见的数据结构&#xff0c;按照先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的原则排列数据。也就是说&#xff0c;最早进入队列的元素最先被移除。队列主要支持两种基本操作&#xff1a; 入队&#xff08;enqueue&#xff0…...

面试八股文对校招的用处有多大?--GDB篇

前言 1.本系列面试八股文的题目及答案均来自于网络平台的内容整理&#xff0c;对其进行了归类整理&#xff0c;在格式和内容上或许会存在一定错误&#xff0c;大家自行理解。内容涵盖部分若有侵权部分&#xff0c;请后台联系&#xff0c;及时删除。 2.本系列发布内容分为12篇…...

Unity用VS打开FGUI脚本变成杂项怎么处理?

在Unity中使用Visual Studio&#xff08;VS&#xff09;打开FGUI脚本时&#xff0c;如果脚本显示为杂项文件&#xff0c;这通常意味着VS没有正确识别或关联这些脚本文件。以下是一些解决此问题的步骤&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;大家…...

交叉熵损失函数(Cross-Entropy Loss Function)解释说明

公式 8-11 的内容如下&#xff1a; L ( y , a ) − [ y log ⁡ a ( 1 − y ) log ⁡ ( 1 − a ) ] L(y, a) -[y \log a (1 - y) \log (1 - a)] L(y,a)−[yloga(1−y)log(1−a)] 这个公式表示的是交叉熵损失函数&#xff08;Cross-Entropy Loss Function&#xff09;&#…...

和外部机构API交互如何防止外部机构服务不可用拖垮调用服务

引言 在现代的分布式系统和微服务架构中&#xff0c;服务之间的通信往往通过API进行&#xff0c;尤其是在与外部机构或第三方服务进行交互时&#xff0c;更需要通过API实现功能的集成。然而&#xff0c;由于外部服务的可控性较差&#xff0c;其服务的不可用性&#xff08;如响…...

自动猫砂盆真的有必要吗?买自动猫砂盆不看这四点小心害死猫。

现在越来越多铲屎官选择购买自动猫砂盆来代替自己给猫咪铲屎&#xff0c;可是自动猫砂盆真的有必要吗&#xff1f;要知道&#xff0c;在现在忙碌的生活中&#xff0c;有很多人因为工作上的忙碌而不小心忽视了猫咪&#xff0c;猫咪的猫砂盆堆满粪便&#xff0c;要知道猫砂盆一天…...

国外解压视频素材哪里找?五个海外解压视频素材网站推荐

国外解压视频素材哪里找&#xff1f;五个海外解压视频素材网站推荐 如果你正在寻找国外的解压视频素材&#xff0c;那么今天这篇文章一定能帮助你。无论是修牛蹄、洗地毯&#xff0c;还是切肥皂、玩解压游戏等&#xff0c;下面分享的几个网站都是你找到高质量海外解压视频素材…...

Android一个APP里面最少有几个线程

Android一个APP里面最少有几个线程 参考 https://www.jianshu.com/p/92bff8d6282f https://www.jianshu.com/p/8a820d93c6aa 线程查看 Android一个进程里面最少包含5个线程&#xff0c;分别为&#xff1a; main线程(主线程&#xff09;FinalizerDaemon线程 终结者守护线程…...

位操作解决数组的花样遍历

文章目录 题目 一、思路&#xff1a; 二、代码 总结 题目 leetcodeT289 https://leetcode.cn/problems/game-of-life/description/ 一、思路&#xff1a; 这题思路很简单&#xff0c;对每个位置按照题目所给规则进行遍历&#xff0c;判断周围网格的活细胞数即可。但是题目要求…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...