【Java】I/O流—File类:从0到1的全面解析

🎊专栏【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构造方法

ccc5293c93234bd7a353261cbf37eadd.png

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

public File(String pathname)

代码如下👇🏻

88eb5bc039094bcab2042be8b2bf1752.png

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

public File(String parent,string child)

9c6e7e3df77144049b288bdc1f015c20.png

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

public File(File parent,string child)

9f8e724d043849d4945b883e33c37861.png

3.File成员方法

(1).判断,获取

298d15a9612b49e78355cf838ead98dc.png

代码如下👇🏻

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());}
}

 运行结果👇🏻

ced5eedc4a384488b6f7c9205d9fca9d.png

(2).创建,删除

f745c0f7e7c7492a805b7f190900dc8e.png

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);}
}

运行结果👇🏻

ee0fdadd4eb8438fa2136edcb88c0e40.png

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);}
}

运行结果👇🏻

d8888be4f0254bee86585074f53337a3.png

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);}
}

运行结果👇🏻

62a92332c6544c72b3f1d6f825c1121a.png

4.delete(删除文件)

d68bb8d83bcc4bdaa3d88c105c9024fa.png

注意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).获取并遍历

636d3694a3024ded876b97a74e8e54fb.png

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);}}
}

运行结果👇🏻

f9a3dbc5bab641ec9c61e9b6ec65953d.png

2cebfdbf957d4029893d6a5c264415a4.png

练习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());}}}}
}	

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/225711.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞)

中间件安全:Weblogic 漏洞.(使用工具可以利用多种类型漏洞) WebLogic 是美国 Oracle 公司出品的一个 application server,确切的说是一个基于 JAVA EE 架构的中间件,WebLogic 是用于开发、集成、部署和管理大型分布式…

商品软文怎么写?媒介盒子教你三步

想要把产品卖出去,除了保证产品质量外,还可以通过线上推广来提高产品销量,而商品文案就是线上推广中的重要因素,今天媒介盒子就来和大家聊聊,怎么写好商品软文。 商品软文想要写好主要分为三要素:痛点、卖…

MySQL备份与恢复(重点)

MySQL备份与恢复(重点) 一、用户管理与权限管理 ☆ 用户管理 1、创建MySQL用户 注意:MySQL中不能单纯通过用户名来说明用户,必须要加上主机。如jack10.1.1.1 基本语法: mysql> create user 用户名被允许连接的主…

flutter 文本不随系统设置而改变大小[最全的整理]

文本不随系统设置而改变大小[三] 前言方案十三:使用Flexible方案十四:使用MediaQueryData的textScaleFactor属性方案十五:使用FractionallySizedBox方案十六:使用自定义文本样式方案十七:使用自定义绘制(Cu…

Elasticsearch:向量搜索 (kNN) 实施指南 - API 版

作者:Jeff Vestal 本指南重点介绍通过 HTTP 或 Python 使用 Elasticsearch API 设置 Elasticsearch 以进行近似 k 最近邻 (kNN) 搜索。 对于主要使用 Kibana 或希望通过 UI 进行测试的用户,请访问使用 Elastic 爬虫的语义搜索入门指南。你也可以参考文章…

JS 倒计时方法(可改造)

起因: 写好备用。 代码: // 直接把方法写在了原型上,通过原型调用 /*** 倒计时* time_str String 到期时间(2023-11-28 16:50:00)* dom_obj Object 需要显示的倒计时的dom对象*/ Date.prototype.countdown function (time_str, dom_obj…

事务的状态和ACID特性

事务就是让数据从一个状态到另一个状态的操作 状态 活动的 事务在执行过程中 部分提交的 事务的最后一个操作已经完成,此时造成的影响只是在内存里,但还没刷写磁盘 失败的 处于活动的或者部分提交的状态时,服务器宕机 中止的 处于失败…

C语言——输入 10 个数,分别统计其中正数、负数、零的个数

#include <stdio.h> int main() {int numbers[10]; // 存储输入的10个数int positive_count 0; // 正数计数器int negative_count 0; // 负数计数器int zero_count 0; // 零计数器// 输入10个数printf("请输入10个数&#xff1a;\n");for (int i 0; i …

vue使用echarts中国地图

需求&#xff1a;Vue3 vite TS 项目内使用 Echarts 5 绘制中国地图。鼠标悬浮省份上面显示指定的数据&#xff0c;地图支持缩放和拖拽的功能&#xff0c;页面放大缩小支持自适应&#xff0c;window.addEventListener(‘resize’, resize); 添加防抖动函数debounce。 一、安装…

Java后端开发——JDBC(万字详解)

Java后端开发——JDBC&#xff08;万字详解&#xff09; 今日目标 掌握JDBC的的CRUD理解JDBC中各个对象的作用掌握Druid的使用 1&#xff0c;JDBC概述 在开发中我们使用的是java语言&#xff0c;那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。 1.1 …

这个校园门禁考勤技术,还怪高级的咧!

随着科技的不断发展&#xff0c;人脸识别技术在各个领域的应用逐渐成为一种趋势。在企业管理中&#xff0c;人脸考勤系统的引入为传统的考勤方式带来了革命性的变革。 传统的考勤方式存在诸多弊端&#xff0c;例如卡片刷卡易被冒用、指纹考勤不够灵活等问题。而基于三维人脸识别…

基于51单片机冰箱温度控制器设计

**单片机设计介绍&#xff0c; 基于51单片机冰箱温度控制器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机冰箱温度控制器设计是一个非常实用的项目。以下是一个基本的介绍&#xff1a; 系统概述&#xff1a; …