Day(16)--File
File
File对象就是表示一个路径,可以是文件路径,也可以是文件夹的路径
这个路径可以是存在的,也允许是不存在的
-
常见的方法
public File(String pathname);//根据文件路径创建文件对象 public File(String parent,String child);//根据父路径名字字符串和子路径名字字符串创建文件对象 public File(File parent,String child);//根据父路径对应文件对象和子路径名字符串创建文件对象
路径
相对路径:是不带盘符的,默认到当前项目下去找
绝对路径:是带盘符的
常见方法
在 Java 中,java.io.File
类提供了许多用于操作文件和目录的方法。以下是一些常见的方法:
一、文件基本信息获取方法
-
getName()
:
-
返回此抽象路径名表示的文件或目录的名称。
-
如果调用者是一个文件,那返回的就是文件名加文件后缀名
-
如果调用者是一个文件夹,那返回的就是一个文件夹的名字
-
例如:
-
File file = new File("test.txt");String name = file.getName();System.out.println(name); // 输出:test.txt
-
getPath()
:
-
将此抽象路径名转换为一个路径名字符串。
-
例如:
-
File file = new File("test.txt");String path = file.getPath();System.out.println(path); // 输出:test.txt(如果在当前目录下)
-
getAbsolutePath()
:
-
返回此抽象路径名的绝对路径名字符串。
-
例如:
-
File file = new File("test.txt");String absolutePath = file.getAbsolutePath();System.out.println(absolutePath); // 输出:具体的绝对路径,如 /home/user/test.txt
-
length()
:
-
返回此抽象路径名表示的文件的长度(以字节为单位)。如果文件不存在,则返回 0。
-
这个方法只能获取文件大小,单位是!!!字节
-
如果单位是M,G,可以不断除以1024
len/1024 ==KB
len/1024/1024 == MB
三次 ===G
-
这个方法无法获得文件夹的大小,需要把这个文件夹里面的文件大小都累加起来了
-
例如:
-
File file = new File("test.txt");long length = file.length();System.out.println(length);
二、文件判断方法
-
exists()
:
-
测试此抽象路径名表示的文件或目录是否存在。
-
例如:
-
File file = new File("test.txt");boolean exists = file.exists();System.out.println(exists);
-
isFile()
:
-
测试此抽象路径名表示的文件是否是一个标准文件。
-
例如:
-
File file = new File("test.txt");boolean isFile = file.isFile();System.out.println(isFile);
-
isDirectory()
:
-
测试此抽象路径名表示的文件是否是一个目录。
-
例如:
-
File file = new File("test.txt");boolean isDirectory = file.isDirectory();System.out.println(isDirectory);
三、文件操作方法
-
createNewFile()
:
-
当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
-
如果父级路径是不存在的那么方法会有异常
-
createNewFile方法创建的一定是一个文件,如果路径中不包括后缀名则创建的是一个没有后缀名的文件
-
例如:
-
File file = new File("newFile.txt");try {boolean created = file.createNewFile();if (created) {System.out.println("文件创建成功!");} else {System.out.println("文件已存在!");}} catch (IOException e) {e.printStackTrace();}
-
delete()
:
-
删除此抽象路径名表示的文件或目录。
-
如果删除的是文件,则直接删除,不走回收站
如果删除的是空文件夹,则直接删除,不走回收站
如果删除的是有内容的文件夹,则删除失败
-
例如:
-
File file = new File("toDelete.txt");boolean deleted = file.delete();System.out.println(deleted? "文件删除成功!" : "文件删除失败!");
四、目录操作方法
-
mkdir()
:
-
创建此抽象路径名指定的目录。
-
windows操作系统中,路径是不能重复的
-
只能创建单级文件夹,不能创建多级文件夹
-
例如:
-
File directory = new File("newDirectory");boolean created = directory.mkdir();System.out.println(created? "目录创建成功!" : "目录创建失败!");
-
mkdirs()
:
-
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
-
既可以创建单级的文件夹也可以创建多级的
-
例如:
-
File deepDirectory = new File("parent/child/newDirectory");boolean created = deepDirectory.mkdirs();System.out.println(created? "目录创建成功!" : "目录创建失败!");
五、文件列表方法
-
list()
:
-
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
-
例如:
-
File directory = new File("/home/user");String[] files = directory.list();if (files!= null) {for (String file : files) {System.out.println(file);}}
-
listFiles()
:
-
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。
-
获取文件夹里的所有内容,把所有内容放到数组中返回。依次表示
-
当调用者File表示的路径不存在时,返回null
-
当调用者File表示的路径是文件时,返回null
-
当调用者File表示的路径是一个空文件夹的时候,返回的是一个长度为0的数组
-
当调用者File表示的路径是一个有内容的文件夹时,将里面所有的文件和文件夹的路径放在File数组中返回。如果有隐藏文件夹,也一起返回
-
当调用者File表示的路径是需要权限才能访问的文件夹时,返回null
-
例如:
-
File directory = new File("/home/user");File[] files = directory.listFiles();if (files!= null) {for (File file : files) {System.out.println(file.getName());}}
相关文章:
Day(16)--File
File File对象就是表示一个路径,可以是文件路径,也可以是文件夹的路径 这个路径可以是存在的,也允许是不存在的 常见的方法 public File(String pathname);//根据文件路径创建文件对象 public File(String parent,String child);//根据父路…...
Axios入门使用
文章目录 Axios入门使用一、引言二、Axios的安装与配置1、安装Axios2、创建Axios实例 三、发送HTTP请求1、GET请求2、POST请求3、并发请求 四、配置和拦截器1、配置默认值2、拦截器 五、错误处理和取消请求1、错误处理2、取消请求 四、总结 Axios入门使用 一、引言 随着前端技…...

大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓
文章目录 基于Flink+Hologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业O…...

关于HTML 案例_个人简历展示02
展示效果 用table进行布局label 标签进行关联 例如:点姓名就可以到text中去填写内容 input的使用 text 文本框radio 单选框select与option 选择框checkbox 复选框 textareaul与li 无序列表文中图片是本地的 链接: 图片下载地址 代码 <!DOCTYPE html> <…...

Windows 11 24H2 v26100.1742 官方简体中文版
Windows 11 24H2是微软最新推出的操作系统更新,其在人工智能(AI)领域的创新为用户带来了显著的体验提升。该版本的一大亮点是AI Copilot,它能够智能地根据剪贴板内容调整操作上下文菜单,实现更智能化的交互。 此外&…...

【AIGC半月报】AIGC大模型启元:2024.10(上)
【AIGC半月报】AIGC大模型启元:2024.10(上) (1) YOLO11(Ultralytics新作) (1) YOLO11(Ultralytics新作) 2024.10.01 Ultralytics在 YOLO Vision 2024 活动上宣布发布其新的计算机视觉模型 YOLO…...
Codeforces Beta Round 14 (Div. 2) E. Camels (DP)
题目 Bob likes to draw camels: with a single hump, two humps, three humps, etc. He draws a camel by connecting points on a coordinate plane. Now he’s drawing camels with t humps, representing them as polylines in the plane. Each polyline consists of n ve…...

CSID-GAN:基于生成对抗网络的定制风格室内平面设计框架论文阅读
CSID-GAN: A Customized Style Interior Floor Plan Design Framework Based on Generative Adversarial Network 摘要前言II. CSID-GAN METHODA. Overall FrameworkB. Algorithm and Loss Function III. DATASETS AND EVALUATION METRICSA. DatasetsB. Evaluation Metrics IV.…...
02SQLite
文章目录 索引创建索引删除索引索引优点及缺点?避免使用索引 视图创建视图删除视图 事务事务控制命令通过事务方式对数据库进行访问优势: 索引 创建索引 索引(Index)是一种特殊查找表,数据库搜索引擎用来加速数据检索…...

学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
在线学籍管理平台系统 目录 基于SpringbootVUE的在线学籍管理平台系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…...

JDBC编程
前言: 你是否见过用Java连接数据库的操作,对没错,今天我们要讲的就是这个“高级”操作,做好准备全程高速。 API: 什么是API?我喜欢先把它的全称说一下:Application Programming Interface。简…...
Python : 类变量、静态方法、类方法
文章目录 前言1 类变量(Java静态变量)2 Python中的静态方法(使用 @staticmethod 装饰器声明)3 类方法(使用 @classmethod 装饰器声明)4 静态方法和类方法的区别前言 学完Java过后,对python中有了一些疑惑。Java中有static修饰的静态变量和静态方法这两个很用用的知识点…...

大厂笔试现已经禁用本地IDE怎么看
如果我说本来面试做题这种事情就是反人类你相信吗? 这个罪恶的源头就是 Google,说是为了选择高素质的计算机编程水平的人才,然后把面试就变成了考试,最大的受益者当然是印度人了。 当把一个考察过程变成标准化的考试过程&#x…...
【PostgreSQL】入门篇——如何创建、删除和管理数据库及其用户,包括权限设置和角色管理
PostgreSQL 数据库及用户管理 1. 创建数据库 1.1 使用 SQL 命令创建数据库 在 PostgreSQL 中,可以使用 CREATE DATABASE 命令来创建数据库。以下是基本语法: CREATE DATABASE database_name;示例: CREATE DATABASE my_database;1.2 使用…...

网络安全:保护数字时代的堡垒
网络安全:保护数字时代的堡垒 引言: 在数字化时代,网络安全的重要性日益凸显。它不仅关系到个人隐私保护,还涉及国家安全和经济发展。随着技术的发展,网络安全的威胁也在不断进化,从个人设备到企业网络&am…...

【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片str)
【rCore OS 开源操作系统】Rust 语法详解: Strings 前言 这次涉及到的题目相对来说比较有深度,涉及到 Rust 新手们容易困惑的点。 这一次在直接开始做题之前,先来学习下字符串相关的知识。 Rust 的字符串 Rust中“字符串”这个概念涉及多种类型&…...
远程过程调用RPC知识科普
文章目录 什么是RPCRPC的基本原理RPC的应用场景RPC的优势常见的RPC框架 常见的RPC协议1. gRPC2. Apache Thrift3. Dubbo4. JSON-RPC5. XML-RPC6. SOAP springboot环境下常用的RPC框架使用1. Apache Dubbo2. Apache Thrift3. gRPC4. Spring Cloud OpenFeign 什么是RPC RPC&…...
Java - LeetCode面试经典150题 - 区间 (三)
区间 228. 汇总区间 题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中…...

NVIDIA网卡系列之ConnectX-6 DX规格信息(200G-PCIe 4.0x16-8PF1000VF-2019年发布)
背景 NVIDIA ConnectX-6是最大支持200G的产品,有DX LX等系列。LX一般是25G比较便宜。 核心关键点 200GbpsPCIe 4.0,最大lane: x16 (4.0的lane速 16GT/s * 16 256T/s,所以支持的是200G的网卡用PCIe4.0)QSFPPF,VF数量࿱…...

【案例】平面云
教程案例视频:Unity Shader Graph - 云教程 开发平台:Unity 2022 开发工具:Unity ShaderGraph 一、效果展示 二、ShaderGraph 路线图 三、案例分析 核心思路:使用 Noise(噪声)模拟云层状态 3.1 说明…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...