java:File类概述和构造方法

一、File类概述和构造方法

1.File类的概述

File:它是文件和目录路径名的抽象表示

  • 文件和目录是可以通过File封装成对象的
  • 对File而言,其封装并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来要通过具体操作把这个路径的内容转为具体的存在。

2.构造方法

方法名说明
File(String pathname)通过将给定的路径名字字符串转换为抽象路径来创建新的File实例
File(String parent,String child)从父路径名字符串和子路径名字字符串创新的File实例
File(File parent,String child)从父抽象路径名和子路径名字字符串创建新的File实例

二、File类创建功能

方法名说明
public boolean createNewFile()当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件
public boolean mkdir()创建由此抽象路径名命名的目录
public boolean mkdirs()创建由此抽象路径名命名的目录,包括任何必须但不存在的父目录

三、File类判断和获取功能

方法名说明
public boolean isDirectory()测试此抽象路径名表示的File是否为目录
public boolean isFile()测试此抽象路径名表示的File是否为文件
public boolean exists()测试此抽象路径名表示的File是否存在
public String getAbsolutePath()返回此抽象路径名的绝对路径名字符串
public String getPath()将此抽象路径名转换为路径名字符串
public String getName()返回由此抽象路径名表示的文件或目录的名称
public String[] list()返回此抽象路径名表示的目录中的文件和目录的名称字符串数组
public File[] listFile()返回此抽象路径名表示的目录中的文件和目录的File对象数组

四、File类删除功能

方法名说明
public boolean delete()删除由此抽象路径名表示的文件或目录

1.绝对路径和相对路径的区别

  • 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所在的文件。例如:E:\\itcast\\java.txt
  • 相对路径:必须使用取自其他路径的信息进行解释。例如:muFile\\java.txth

删除目录的注意事项:

  • 如果一个目录中有内容(目录文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录。

2.创建文件时路径名D:\\test\\java.txt与java.txt的区别

代码展示

public class Test {public static void main(String[] args) throws IOException {//在指定盘符下创建文件File f1 = new File("D:\\test\\java.txt");f1.createNewFile();}
}

这段代码是在D盘的test文件中新建一个java.txt文件

    public static void main(String[] args) throws IOException {
//        //在指定盘符下创建文件
//        File f1 = new File("D:\\test\\java.txt");
//        f1.createNewFile();File f1 = new File("java.txt");System.out.println(f1.createNewFile());}

这段代码生成的文件在工程目录下面

3.删除刚刚创建的文件代码演示

   public static void main(String[] args) throws IOException {
//        //在指定盘符下创建文件
//        File f1 = new File("D:\\test\\java.txt");
//        f1.createNewFile();File f1 = new File("java.txt");
//        System.out.println(f1.createNewFile());//需求2:删除当前模块目录下的java.txt文件System.out.println(f1.delete());}
}

4.在当前工程下面新建一个包,名叫“itcast”

       //需求3:在当前模块目录下创建itcast目录File file = new File("itcast");System.out.println(file.mkdir());

结果展示

5.删除刚刚新建的目录itcast

      //需求4:删除当前目录下创建的itcast目录System.out.println(file.delete());

测试结果

注意:如果itcast目录下面有内容,就不能够直接删除,要先把目录下面的文件删除掉才能把目录删掉。

五、递归

1.递归概述:

以编程的角度来看,递归指的是方法定义中调用方法本身的现象

2.递归解决问题的思路:

把复杂的问题层层转化为一个与原问题相似规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程需要多次重复计算

3.递归解决问题要找到两个内容

  • 递归出口:否则会出现内存溢出
  • 递归规则:与原问题相似的规模较小的问题

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

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

相关文章

瑞友天翼应用虚拟化系统SQL注入致远程代码执行漏洞复现

0x01 产品简介 瑞友天翼应用虚拟化系统是西安瑞友信息技术资讯有限公司研发的具有自主知识产权,基于服务器计算架构的应用虚拟化平台。它将用户各种应用软件集中部署在瑞友天翼服务器(群)上,客户端通过WEB即可快速安全的访问经服务器上授权的应用软件,实现集中应用、远程接…

人工智能-2024期中考试

前言 人工智能期中考试,认真准备了但是没考好,结果中游偏下水平。 第4题没拿分 (遗传算法:知识点在课堂上一笔带过没有细讲,轮盘赌算法在书本上没有提到,考试的时候也没讲清楚,只能靠猜&…

Python网络协议socket

01 协议基础 01 网络协议 协议:一种规则 网络协议:网络规则,一种在网络通信中的数据包的数据规则 02 TCP/IP协议 osi模型 tcp/ip协议 03 tcp协议 TCP协议提供了一种端到端的、基于连接的、可靠的通信服务。 三次握手 创建连接 四次挥手…

华为:三层交换机与路由器连通上网实验

三层交换机是一种网络交换机,可以实现基于IP地址的高效数据转发和路由功能,通常用于大型企业、数据中心和校园网络等场景。此外,三层交换机还支持多种路由协议(如OSPF、BGP等),以实现更为复杂的网络拓扑结构…

深度学习之基于Matlab卷积神经网络验证码识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着互联网的发展,验证码作为一种常用的安全验证手段,被广泛应用于各种网站和…

W801学习笔记二十一:英语背单词学习应用——上

英语背单词是比较常见的学习APP,参考唐诗宋词应用,本章做一个类似的应用。 一、单词数据清洗及格式转换 诗词数据的获取渠道很多,一般可以按照年级来分文件。如一到九年级,四六级,雅思等等。 1、先从网上某某地方下载…

python+flask+ldap3搭建简易版IDaaS系统(前端站点)

Python工具开源专栏 Py0006 pythonflaskldap3搭建简易版IDaaS系统(前端站点) Python工具开源专栏前言目录结构前端网站的部分演示首页查询数据数据同步数据关联查询系统日志 完整代码已在GitHub上开源 前言 pythonflaskldap3搭建简易版IDaaS系统的前端站…

redis分片java实践、redis哨兵机制实现、redis集群搭建

redis分片java实践 linux安装redishttps://mp.csdn.net/mp_blog/creation/editor/134864302复制redis.conf配置文件成redis1.conf、redis2.conf、redis3.conf 修改redis的端口信息和存pid文件的路径。存pid文件的路径只要不同就行了,没什么特别要求。 指定配置文件…

《Fundamentals of Power Electronics》——示例:Buck-Boost转换器模型变为正则形式

为了说明正则电路模型推导的步骤,让我们将buck-boost转换器的等效电路操作成规范形式。buck-boost转换器的一个小信号交流等效电路如下图所示。 为了将上图所示网络转换成正则形式,需要将所有独立源d(t)转换到左侧,而将所有电感转换到右侧与变…

【Qt QML】ComboBox组件

ComboBox 是一个组合的按钮和弹出列表。它提供了一种以最小的屏幕空间呈现选项列表给用户的方式。ComboBox 使用数据模型填充。数据模型通常是一个 JavaScript 数组、一个 ListModel 或一个整数,但也支持其他类型的数据模型。 下面是一个简单的使用方式。 import …

汽车 - 什么是车轮抱死

车轮抱死分为两种情况,一种是车辆故障层面,另一种是驾驶过程中的物理现象。我们先来说最通俗的刹车车轮抱死吧。 刹车制动车轮抱死 车轮停止轴向转动就是抱死,有速度的情况下抱死车轮,如果车辆的惯性动能大于轮胎抓地力&#xff0…

SQLI-labs-第十三关和第十四关

目录 第十三关 1、判断注入点 2、判断当前数据库 3、爆表名 4、爆字段名 5、爆值 第十四关 1、判断注入点 知识点:POST方式的单引号和括号闭合错误,报错注入 第十三关 思路: 1、判断注入点 使用Burpsuite抓包 首先加入一个单引号,…

#LLM入门 | langchain | RAG # 4.3_文档分割

上一章讨论了文档标准化加载,现在转向文档的细分,这虽简单却对后续工作有重大影响。 一、为什么要进行文档分割 模型大小和内存限制:大型GPT模型参数众多,需大量计算和内存,而硬件设备如GPU或TPU有内存限制&#xff…

Leetcode—706. 设计哈希映射【简单】(constexpr)

2024每日刷题(127) Leetcode—706. 设计哈希映射 数组实现代码 class MyHashMap { public:MyHashMap() {memset(arr, -1, sizeof(arr));}void put(int key, int value) {arr[key] value;}int get(int key) {if(arr[key] -1) {return -1;} return arr…

从哪些方面可以看出现货黄金价格走势?

现货黄金价格的走势受到多种因素的影响,我们可以从宏观经济环境、货币政策、供需关系、市场情绪和技术分析几个主要方面来观察和分析这一贵金属的价格动态。现货黄金作为全球投资市场中的避险资产,其价格波动往往能体现出复杂的经济和政治变化。 宏观经济…

脸爱云一脸通智慧管理平台 SystemMng 管理用户信息泄露漏洞(XVE-2024-9382)

0x01 产品简介 脸爱云一脸通智慧管理平台是一套功能强大,运行稳定,操作简单方便,用户界面美观,轻松统计数据的一脸通系统。无需安装,只需在后台配置即可在浏览器登录。 功能包括:系统管理中心、人员信息管理中心、设备管理中心、消费管理子系统、订餐管理子系统、水控管…

OpenCV 入门(三)—— 车牌筛选

OpenCV 入门系列: OpenCV 入门(一)—— OpenCV 基础 OpenCV 入门(二)—— 车牌定位 OpenCV 入门(三)—— 车牌筛选 OpenCV 入门(四)—— 车牌号识别 OpenCV 入门&#xf…

每日一题 礼物的最大价值

题目描述 礼物的最大价值_牛客题霸_牛客网 解题思路 这是一个典型的动态规划问题。我们可以使用一个二维数组 dp[][] 来存储到达每个格子时可以获得的最大价值。状态转移方程为 dp[i][j] max(dp[i-1][j], dp[i][j-1]) grid[i][j],表示到达当前格子的最大价值是从…

Windows PC上从零开始部署ChatGML-6B-int4量化模型

引言 ChatGLM-6B是清华大学知识工程和数据挖掘小组(Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University)发布的一个开源的对话机器人。6B表示这是ChatGLM模型的60亿参数的小规模版本,约60亿参数。 ChatGML-6B-in…

代码随想录第四十六天|单词拆分

题目链接:. - 力扣(LeetCode)