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 …

机器学习——5.案例: 乳腺癌预测

案例目的 通过已标注的数据,训练出模型来预测患者是否有患乳腺癌。 该问题属于二分类问题,所以可以使用Sigmoid激活函数,损失用BCE函数 代码逻辑步骤 读取数据训练集与测试集拆分数据标准化数据转化为Pytorch张量label维度转换定义模型定…

汽车 - 什么是车轮抱死

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

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

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

PCIE相关总结

1、概述 "PCIE 槽位" 指的是主板上的 Peripheral Component Interconnect Express (外围设备互联扩展)槽位。它是用于连接扩展卡(如显卡、网卡、声卡等)到主板的接口。PCI Express 是一种高速串行扩展总线标准&#xff…

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

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

538.把二叉搜索树转换成累加树

给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值 原树中大于或等于 node.val 的值之和。 方法一:递归 class Solution{int sum 0;publ…

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…

虚拟 DOM

当在虚拟 DOM 中嵌套子元素时&#xff0c;可以在 JSX 中使用嵌套的方式来描述。以下是在 h1 元素内部包含 span 元素的示例&#xff1a; const element ( <h1> Hello, <span>React</span> </h1> ); 在这个示例中&#xff0c;h1 元素内部包含了一个 s…

【JS】web浏览器访问本地系统字体列表

1、核心API&#xff1a; queryLocalFonts&#xff1b;以下为主要注意事项&#xff1a; 注意浏览器最低版本 需用户授权 网站是否安全&#xff0c;若不安全默认禁止获取本地字体列表 # 代码演示 export async function getLocalFonst() {if ("queryLocalFonts" in…

Deep Learning Part Eight Attention--24.5.3

注意力是全部。 --&#xff08;你若安好&#xff0c;就是夏天&#xff09;安夏的座右铭 00.引子 上一章我们使用 RNN 生成了文本&#xff0c;又通过连接两个 RNN&#xff0c;将一个时序数据转换为了另一个时序数据。我们将这个网络称为 seq2seq&#xff0c;并用它成功求解了简…