常用类五(File类)

目录

File 类的基本用法

File 类的常见构造方法:public File(String pathname)

通过 File 对象可以访问文件的属性

通过 File 对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

递归遍历目录结构和树状展现


File 类的基本用法

        java.io.File 类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改 文件的属性时经常会用到本类。

File 类的常见构造方法:public File(String pathname)

        以 pathname 为路径创建 File 对象,如果 pathname 是相对路径,则默认的当前路径在系 统属性 user.dir 中存储

import java.io.File;public class TestFile1 {public static void main(String[ ] args) throws Exception {System.out.println(System.getProperty("user.dir"));File f = new File("testaaa.txt"); //相对路径:默认放到 user.dir 目录下面f.createNewFile();//创建文件File f2 = new File("d:/testbbb.txt");//绝对路径f2.createNewFile();}
}

执行完毕后,在本项目和 D盘下都生成了新的文件

通过 File 对象可以访问文件的属性

File 类访问属性的方法列表
方法说明
public boolean exists()判断 File 是否存在
public boolean isDirectory()判断 File 是否是目录
public boolean isFile()判断 File 是否是文件
public long lastModified()返回 File 最后修改时间
public long length()返回 File 大小
public String getName()返回文件名
public String getPath()返回文件的目录路径

使用 File 类访问文件或目录属性

import java.io.File;
import java.util.Date;public class TestFile2 {public static void main(String[ ] args) throws Exception {File f = new File("d:/b.txt");System.out.println("File 是否存在:"+f.exists());System.out.println("File 是否是目录:"+f.isDirectory());System.out.println("File 是否是文件:"+f.isFile());System.out.println("File 最后修改时间:"+new Date(f.lastModified()));System.out.println("File 的大小:"+f.length());System.out.println("File 的文件名:"+f.getName());System.out.println("File 的目录路径:"+f.getPath());}
}

通过 File 对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

File 类创建文件或目录的方法列表
方法说明
createNewFile()创建新的 File
delete()删除 File 对应的文件
mkdir()创建一个目录;中间某个目录缺失,则创建失败
mkdirs()创建多个目录;中间某个目录缺失,则创建该缺失目录

使用 mkdir 创建目录

import java.io.File;public class TestFile3 {public static void main(String[ ] args) throws Exception {File f = new File("d:/c.txt");f.createNewFile(); // 会在 d 盘下面生成 c.txt 文件f.delete(); // 将该文件或目录从硬盘上删除File f2 = new File("d:/电影/华语/大陆");boolean flag = f2.mkdir(); //目录结构中有一个不存在,则不会创建整个目录树System.out.println(flag);//创建失败}
}

使用 mkdirs 创建目录

import java.io.File;public class TestFile4 {public static void main(String[ ] args) throws Exception {File f = new File("d:/c.txt");f.createNewFile(); // 会在 d 盘下面生成 c.txt 文件f.delete(); // 将该文件或目录从硬盘上删除File f2 = new File("d:/电影/华语/大陆");boolean flag = f2.mkdirs();//目录结构中有一个不存在也没关系;创建整个目录树System.out.println(flag);//创建成功}
}

File 类的综合应用


import java.io.File;
import java.io.IOException;public class TestFile5 {public static void main(String[] args) {//指定一个文件File file = new File("d:/test/aaa.txt");//判断该文件是否存在boolean flag= file.exists();//如果存在就删除,如果不存在就创建if(flag) {//删除boolean flagd = file.delete();if(flagd){System.out.println("删除成功");}else{System.out.println("删除失败");}} else {//创建boolean flagn = true;try {//如果目录不存在,先创建目录File dir = file.getParentFile();dir.mkdirs();//创建文件flagn = file.createNewFile();System.out.println("创建成功");} catch (IOException e) {System.out.println("创建失败");e.printStackTrace();}}}
}

递归遍历目录结构和树状展现

import java.io.File;public class TestFile6 {public static void main(String[ ] args) {File f = new File("d:/myMovie");printFile(f, 0);}/*** 打印文件信息* @param file 文件名称* @param level 层次数(实际就是:第几次递归调用)*/static void printFile(File file, int level) {//输出层次数for (int i = 0; i < level; i++) {System.out.print("-");}//输出文件名System.out.println(file.getName());//如果 file 是目录,则获取子文件列表,并对每个子文件进行相同的操作if (file.isDirectory()) {File[ ] files = file.listFiles();for (File temp : files) {//递归调用该方法:注意等+1printFile(temp, level + 1);}}}
}

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

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

相关文章

Selenium 自动化 —— 浏览器窗口操作

更多内容请关注我的专栏&#xff1a; 入门和 Hello World 实例使用WebDriverManager自动下载驱动Selenium IDE录制、回放、导出Java源码 当用 Selenium 打开浏览器后&#xff0c;我们就可以通过 Selenium 对浏览器做各种操作&#xff0c;就像我们日常用鼠标和键盘操作浏览器一…

[计算机效率] 文件搜索工具:Listary(附详细使用教程)

3.5 文件搜索工具&#xff1a;Listary Listary是一款实用的搜索工具&#xff0c;它能为我的电脑&#xff08;资源管理器&#xff09;增添许多智能命令&#xff0c;提高用户日常收藏和整理文件的效率。它具备多种实用功能&#xff0c;例如收藏文件夹、快速打开最近浏览的文件夹…

BS系统的登录鉴权流程演变(高级必备)

BS系统的登录鉴权流程演变 1 基础知识1.1 Http Cookie1.2 重定向与前端路由Vue-router1.2.1 后端重定向1.2.2 Vue-router 1.3.JWT简介1.4 Spring-Security1.4.1 过滤器链[24]1.4.3 DelegationFilterProxy的实例化和拦截配置1.4.4 在项目中使用Spring Security1.4.5 用户认证 2.…

Spring Cloud - Openfeign 实现原理分析

OpenFeign简介 OpenFeign 是一个声明式 RESTful 网络请求客户端。OpenFeign 会根据带有注解的函数信息构建出网络请求的模板,在发送网络请求之前,OpenFeign 会将函数的参数值设置到这些请求模板中。虽然 OpenFeign 只能支持基于文本的网络请求,但是它可以极大简化网络请求的…

六西格玛绿带培训:量化进步的关键

在追求卓越的道路上&#xff0c;六西格玛绿带培训成为了一种革命性的思维方式&#xff0c;让我们能够以科学和系统的方法提升过程性能。但在这个追求中&#xff0c;我们如何确定我们的进步&#xff1f;过程能力分析为我们提供了明确的答案。通过计算过程能力&#xff0c;即6σ&…

竞赛 python 爬虫与协同过滤的新闻推荐系统

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python 爬虫与协同过滤的新闻推荐系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&…

python关于字符串基础学习

字符串 python字符串是不可改变的 Python不支持单字符类型&#xff0c;单字符也是作为一个字符串使用的。 字符串编码 python3直接支持Unicode,可以表示世界上任何书面语言的字符 python3的字符默认就是16位Unicode编码&#xff0c;ASCII是Unicode的子集 使用内置函数 ord()…

二十六 超级数据查看器 讲解稿 用输入值批量更新字段

二十六 超级数据查看器 讲解稿 用输入值批量更新字段 ​点击此处 以新页面 打开B站 播放当前教学视频 点击访问app下载页面 百度手机助手 下载地址 ​ 大家好&#xff0c;今天我们讲一下超级数据查看器的输入更新功能&#xff0c;输入更新功能是将选择的TXT文档的数据&…

【竞技宝】DOTA2-PGL联赛:niu神无解 LGD2-0轻松击败DH

北京时间2024年3月26日,PGL联赛中国区的比赛在昨日正式打响,首日共进行了四场胜者组首轮的比赛,第四场比赛由LGD对阵DH。本场比赛,DH两局都在前中期和LGD有来有回,但niu的中期节奏完全摧毁了DH,最终LGD2-0轻松击败DH。以下是本场比赛的详细战报。 第一局: 首局比赛,LGD在天辉方…

使用Docker Compose一键部署前后端分离项目(图文保姆级教程)

一、安装Docker和docker Compose 1.Docker安装 //下载containerd.io包 yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm //安装依赖项 yum install -y yum-utils device-mapper-persistent-data l…

基于springboot实现课程作业管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现课程作业管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;课程作业管理系统当然也不能排除在外。课程作业管理系统是以实际运用为开发背景…

OpenCV4.9关于矩阵上的掩码操作

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇:如何使用OpenCV扫描图像、查找表和时间测量 下一篇:OpenCV4.9的是如何进行图像操作 引言&#xff1a; 矩阵上的掩码操作非常简单。这个想法是&#xff0c;我们根据掩码矩阵&#xff08…