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

【I/O流之旅】File类-零基础入门指南

🎊专栏【Java】

🌺每日一句:看不清楚未来时,就比别人坚持久一点

⭐欢迎并且感谢大家指出我的问题

目录

1.File概述

2.File构造方法

(1).根据文件路径创建文件对象

(2).根据父路径名字符串和子路径名字符串创建对象

(3).根据父路径对应文件对象和子路径名字符串创建对象

3.File成员方法

(1).判断,获取

(2).创建,删除

1.createNewFile(创建文件)

2.mkdir(创建文件夹)

3.mkdirs(创建多级文件夹)

4.delete(删除文件)

(3).获取并遍历


1.File概述

在Java编程语言中,File类是用于表示文件和目录路径的类。通过File类,可以进行文件和目录的创建删除重命名等操作,以及获取它们的属性信息。File类提供了一系列方法,使得对文件系统中的文件和目录进行操作变得简单和方便。

本文将详细介绍File类的构造方法主要成员方法,并给出示例代码帮助大家学习和巩固File类的各种用法。

2.File构造方法

(1).根据文件路径创建文件对象

public File(String pathname)

代码如下👇🏻

(2).根据父路径名字符串和子路径名字符串创建对象

public File(String parent,string child)

(3).根据父路径对应文件对象和子路径名字符串创建对象

public File(File parent,string child)

3.File成员方法

(1).判断,获取

代码如下👇🏻

package File;
import java.io.File;
public class FileDemo2 {public static void main(String[] args) {File f1=new File("D:\\aaa\\b.txt");System.out.println(f1.isDirectory());System.out.println(f1.isFile());System.out.println(f1.exists());}
}

 运行结果👇🏻

(2).创建,删除

1.createNewFile(创建文件)

注意1:如果当前路径是不存在的,则创建成功,方法返回True。
如果当前路径是存在的,则创建失败,方法返回false。

注意2:如果父级路径是不存在的,那么方法会有异常IOException。
注意3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件。

代码如下👇🏻

package File;
import java.io.File;
import java.io.IOException;
public class FileDemo4 {public static void main(String[] args) throws IOException {File f1=new File("D:\\aaa\\c.txt");boolean b = f1.createNewFile();System.out.println(b);}
}

运行结果👇🏻

2.mkdir(创建文件夹)

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

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

代码如下👇🏻

package File;
import java.io.File;
public class FileDemo5 {public static void main(String[] args) {File f1=new File("D:\\aaa\\ddd");boolean b = f1.mkdir();System.out.println(b);}
}

运行结果👇🏻

3.mkdirs(创建多级文件夹)

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

代码如下👇🏻

package File;
import java.io.File;
public class FileDemo5 {public static void main(String[] args) {File f2=new File("D:\\aaa\\bbb\\ccc\\ddd");boolean b = f2.mkdirs();System.out.println(b);}
}

运行结果👇🏻

4.delete(删除文件)

注意1:如果删除的是文件,则直接删除,不走回收站

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

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

package File;
import java.io.File;
public class FileDemo5 {public static void main(String[] args) {File f1=new File("D:\\aaa\\a.txt");boolean b = f1.delete();System.out.println(b);}
}

(3).获取并遍历

listFiles:该方法用于遍历某个指定目录下的所有文件的名称。

练习1

(遍历aaa文件下的目录)

代码如下👇🏻

package File;
import java.io.File;
public class FileDemo6 {public static void main(String[] args) {File f1= new File("D:\\aaa");File [] files =f1.listFiles();for (File file:files) {System.out.println(file);}}
}

运行结果👇🏻

练习2

(判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称)
分析
     A:封装e判断目录
     B:获取该目录下所有文件或者文件夹的File数组
     C:遍历该File数组,得到每一个File对象,然后判断
    D:是否是文件
         是:继续判断是否以.jpg结尾
             是:就输出该文件名称
                 否:不搭理它
             否:不搭理它

public class FileDemo {public static void main(String[] args) {// 封装e判断目录File file = new File("e:\\");// 获取该目录下所有文件或者文件夹的File数组File[] fileArray = file.listFiles();// 遍历该File数组,得到每一个File对象,然后判断for (File f : fileArray) {// 是否是文件if (f.isFile()) {// 继续判断是否以.jpg结尾if (f.getName().endsWith(".jpg")) {// 就输出该文件名称System.out.println(f.getName());}}}}
}	

🌺学习编程需要勤加练习,勇于实践,建议大家亲自动手操作,这样才能不断进步,掌握编程技巧,欢迎大家在评论区进行讨论。🌺

相关文章:

【I/O流之旅】File类-零基础入门指南

🎊专栏【Java】 🌺每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…...

ArrayList和LinkedList的区别有哪些?

ArrayList 和 LinkedList 是 Java 中常用的两种集合类,它们之间有一些重要的区别,主要涉及到其内部实现和性能特点: 内部实现: ArrayList 是基于动态数组实现的。它使用一个数组来存储元素,当数组已满并需要添加新元素…...

Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题

1.0 安装selenium 终端输入: pip install selenium 查看版本: pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是,基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…...

Java TCP服务端多线程接收RFID网络读卡器上传数据

本示例使用设备介绍:WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; impor…...

SpringCloud——服务网关——GateWay

1.GateWay是什么? gateway也叫服务网关,SpringCloud GateWay使用的是Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架。 gateway的功能有反向代理、鉴权、流量控制、熔断、日志监控...... 2.为什么不使用Zuul&#xff1f…...

Linux程序的地址空间

Linux程序的地址空间 📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容深刻理解了什么程序或者进程的地址…...

Docker安装Minio(稳定版)

1、安装 docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z docker run -p 9000:9000 minio/minio:RELEASE.2021-06-17T00-10-46Z server /data 2、访问测试 3、MinIO自定义Access和Secret密钥 要覆盖MinIO的自动生成的密钥,您可以将Access和Secret密钥设为…...

大数据毕业设计选题推荐-超级英雄运营数据监控平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

视频转码教程:轻松制作GIF动态图,一键高效剪辑操作

随着社交媒体的兴起,GIF动态图已经成为了人们表达情感、分享精彩瞬间的重要方式。而将视频转化为GIF动态图,不仅可以方便地在社交媒体上分享,还可以延长视频的播放时长,吸引更多的观众。本篇文章将为大家介绍如何将视频轻松转化为…...

Seata分布式事务实现原理

Seata可以解决分布式事务问题,利用GlobalTransacational(name "fsp-create-order",rollbackFor Exception.class)注解就可以实现全局的事务管理,但是我们需要明白原理的实现。 我们举例创建订单——>调减库存——>调扣余额——>改订…...

Rasa NLU中的组件

Rasa NLU部分主要是解决NER(序列建模)和意图识别(分类建模)这2个任务。Rasa NLP是一个基于DAG的通用框架,图中的顶点即组件。组件特征包括有顺序关系、可相互替换、可互斥和可同时使用。有向无环图(DAG&…...

redis笔记 三 redis持久化

文章目录 Redis持久化RDB持久化执行时机RDB原理小结 AOF持久化AOF原理AOF配置AOF文件重写 RDB与AOF对比 Redis持久化 redis持久化是为了解决redis宕机时丢失数据的问题,Redis有两种持久化方案: RDB持久化AOF持久化 RDB持久化 RDB全称Redis Database …...

k8s-----数据存储

目录 一、数据存储的概念 二、基本存储 1、EmptyDir存储卷 2、hostPath存储卷 3、nfs共享存储卷 三、高级存储 1、PV(持久化卷) 2、PVC(持久化卷声明) 3、静态PV实验 4、动态PV实验 4.1 在stor01节点上安装nfs&#xf…...

macOS电池续航工具:Endurance中文

Endurance for Mac是一款强大而实用的电池管理和优化软件,专为MacBook设计。通过智能调整系统设置和管理后台应用,它能有效延长电池续航时间,提升工作和娱乐效率,成为你在各种场合下的得力助手。 Endurance for Mac软件的功能特色…...

栈(定义,基本操作,顺序存储,链式存储)

目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack)是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表,只能在栈顶进行插…...

在HTML单页面中,使用Bootstrap框架的多选框如何提交数据

1.引入Bootstrap CSS和JavaScript文件&#xff1a;确保在HTML页面的标签内引入Bootstrap的CSS和JavaScript文件。可以使用CDN链接或者下载本地文件。 <link rel"stylesheet" href"https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css&q…...

当爱好变成职业,会不会就失去了兴趣?

当爱好变成职业&#xff0c;会不会就失去了兴趣&#xff1f; 当兴趣变成职业 1、学习能力变强了&#xff0c;积极主动性增加了。 2、学习努力变现了&#xff0c;赚到的更钱多了。 3、赚钱能力变强了&#xff0c;反过来再次促使兴趣发展&#xff08;兴趣更大了....干劲更足了&…...

3-知识补充-MVC框架

3-知识补充-MVC框架 文章目录 3-知识补充-MVC框架MVC概述M、V、C各自负责功能及常用包MVC框架图非前后端分离框架图前后端分离框架图 MVC概述 MVC&#xff08;Model、View、Controller&#xff09;是软件工程中的一种**软件架构模式&#xff0c;它把软件系统分为模型、视图和控…...

leetcode:141. 环形链表

一、题目 函数原型&#xff1a; bool hasCycle(struct ListNode *head) 二、算法 判断不是环形链表&#xff0c;只需遍历链表找到空结点即可。 判断是环形链表&#xff0c;由于链表是环形的&#xff0c;遍历不会永远不会结束。所以要设置快慢指针&#xff0c;慢指针一次走一步&…...

了解企业邮箱的外观和功能特点

企业邮箱是什么样子的&#xff1f;企业邮箱不是单一产品&#xff0c;而是由一系列电子邮件服务组成的生态系统。这些服务包括但不限于邮件服务器、客户端、安全解决方案等。这些服务共同构成了企业邮箱的基础设施。 在外观上&#xff0c;企业邮箱和个人邮箱没有太大区别。用户通…...

小白必看|2026学生党论文神器推荐:自动排版+AI润色,告别熬夜改格式

论文小白陷入“写论文易&#xff0c;改格式难”的困境&#xff1a;明明正文已经定稿&#xff0c;却要花数天时间抠封面格式、调页眉页脚、改目录编号、整理论文参考文献&#xff0c;哪怕一个行距、一个字体不符合学校要求&#xff0c;都要全部推翻重改&#xff1b;好不容易排完…...

javascript之Dom查询操作1

1.通过Id获取单个元素假定要获取下面html代码里面id是div1的div标签内容语法是document.getElementById(Id值)<div id"div1">div1</div>let a document.getElementById("div1") console.log(a)2.根据name属性值获取语法是document.getElement…...

2025届学术党必备的六大AI辅助写作网站横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能于学术论文写作里的应用愈发广泛&#xff0c;其核心价值展现成高效文献检索、结构化…...

保姆级教程:用Ultralytics库把YOLOv11模型导出成ONNX/TensorRT格式(附参数详解)

保姆级教程&#xff1a;用Ultralytics库把YOLOv11模型导出成ONNX/TensorRT格式&#xff08;附参数详解&#xff09; 当你完成YOLOv11模型的训练后&#xff0c;下一步就是将其部署到实际应用中。模型导出是部署的关键环节&#xff0c;直接影响推理性能和硬件兼容性。本文将带你深…...

Kafka消费者组性能调优实战:从瓶颈识别到极致优化

前言“Kafka性能调优&#xff0c;20%是调整配置&#xff0c;80%是理解你的工作负载。”这是无数生产环境事故总结出来的血泪教训。在生产实践中&#xff0c;很多团队遇到消费性能问题时&#xff0c;第一反应是“加机器、加分区、调参数”&#xff0c;结果往往事倍功半&#xff…...

解决 Antigravity 新谷歌账户无法登录的问题

最近在使用 Antigravity 时遇到一个奇葩问题&#xff0c;折腾了大半天终于解决&#xff0c;特意记录下来&#xff0c;希望能帮到有同样困扰的小伙伴 —— 老谷歌免费账户能正常登录 Antigravity&#xff0c;但新注册的谷歌 Pro 账户&#xff08;和老账户一样都是美国地区&#…...

RexUniNLU部署教程:Kubernetes集群中水平扩缩容RexUniNLU服务的Helm Chart实践

RexUniNLU部署教程&#xff1a;Kubernetes集群中水平扩缩容RexUniNLU服务的Helm Chart实践 1. 为什么需要在K8s中部署RexUniNLU&#xff1f; 你可能已经试过在本地跑通 python test.py&#xff0c;也成功启动了 server.py 提供的 FastAPI 接口。但当真实业务流量进来——比如…...

借助快马平台AI能力打造智能自适应的contextmenumanager管理系统

最近在做一个需要频繁使用右键菜单的项目&#xff0c;发现传统contextmenu管理方式实在太麻烦了。每次新增功能都要手动写一堆配置代码&#xff0c;维护起来也头疼。正好看到InsCode(快马)平台的AI辅助开发功能&#xff0c;尝试用它打造了一个智能自适应的contextmenumanager系…...

破解土地-生态耦合难题,从数据处理到SCI论文:AI辅助下PLUS-InVEST模型土地利用格局模拟与生态系统服务

做土地利用、生态系统服务、国土空间规划的同学&#xff0c;是不是经常遇到这些问题&#xff1a;PLUS 模型装不上、跑不通、参数看不懂InVEST 产水 / 土壤保持 / 碳储量 / 生境质量数据总是报错ArcGIS 栅格处理、投影转换、重分类一头雾水多情景模拟不会设计&#xff0c;结果不…...

突破Cursor限制的5个实用技巧:从原理到实践

突破Cursor限制的5个实用技巧&#xff1a;从原理到实践 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request…...