Java File类
时间:2022-07-22
本文章向大家介绍Java File类,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
File类
- 1.构造方法
构造方法主要是用来封装文件名和目录名,不会创建文件和文件夹
File file = new File("D:\demo\com");
File file = new File("D:\a.txt");
File file = new File(new File("D:\demo"),"a.txt");
- 2.创建方法
boolean mkdir();
//创建单一的文件夹,只能创建一个文件夹,多个未创建则不会创建成功,且不能创建文件,但是不会报错
file.mkdir();
boolean mkdirs();
//创建多个文件夹,同样路径封装里不能加入文件名,否则创建出文件名文件夹
file.mkdirs();
boolean createNewFile();
//创造文件的方法
file.createNewFile();
创建文件一般思路:
File file = new File("D:\demo\com");\封装文件夹
file.mkdirs();\创建文件夹目录
File file2 = new File(file,"a.txt");\增加文件路径
file2.createNewFile(); \创建文件
- 3.删除方法
boolean delete();
//每次只能删除一个文件或文件夹,必须从最里层开始删除,要想删除所有必须定义封装所有文件或文件夹路径
file.delete();
- 4.重命名方法
boolean renameTo(File file)
//里面必须封装为文件路径与实际一致,否则将变成新建文件
file.renameTo(new File("D:\demo\com\a.txt"))
File file3 = new File("D:\demo\com");
file2.renameTo(new File(file3,"c.txt"));
- 5.判断功能
boolean isDirectory()
//判断是否是一个目录文件
boolean isFile();
//判断是否是一个文件
boolean exists();
//判断文件是否存在
boolean canRead();
//判断文件是否可读
boolean isHidden()
//判断文件是否隐藏
- 6.获取功能
String getName()
//获取最后一个目录名,或文件名
String getAbsolutionPath()
//获取绝对路径名,返回为字符串
File getAbsolutionFile()
//获得绝对路径名,返回为文件
long length();
//获取文件内容的长度
String getParent();
//获得父目录
6.高级获取
String[] list();
//获取的是父目录下的所有子文件名,仅仅一层,输出仅仅为文件的文件名
String[] filename = new String[10];//创建字符串数组
filename = file3.list();
for (String string : filename) {
System.out.println(string);
}
File[] listFiles();
//返回文件数组,但是file的toString()重写,输出为文件的根路径
File[] filename = new File[10];
filename = file3.listFiles();
for (File string : filename) {
System.out.println(string);
}
1.判断路径下是否有.png类型的文件,并输出文件名
- 1.封装D:盘目录
- 2.获得该文件下的File数组
- 3.遍历该文件下所有file
- 4.判断是否是文件
- 5.判断是否是以。jpg结尾
- 6.输出名称
public class FileDemo2 {
public static void main(String[] args) {
//封装路径
File file = new File("D:\");
//创建File数组
File[] fileArray = file.listFiles();
//遍历
for (File f : fileArray) {
//判断是否是文件
if(f.isFile()){
//判断文件是否是以.jpg结尾的
if(f.getName().endsWith(".png")){
System.out.println(f.getName());
}
}
}
}
}
2.获取的时候就满足条件 FilenameFilter用于过滤器文件名
boolean accept(File dir,String name)
//封装路径
File file = new File("D:\");
//获得满足条件的名称
String[] strArray = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir,name).isFile()&&name.endsWith(".png");
}
});
for (String string : strArray) {
System.out.println(string);
}
3.递归遍历目录下指定文件名
把视频名全部重命名 把E:java目录下所有以java结尾的绝对路径输出控制台
- A:封装路径
- B:获取该文件下所有文件或者文件夹的File数组
- C:遍历File数组得到每一个File对象
- D:判断该File对象是否为文件夹
- 是:递归调用
- 不是:判断是否以java结尾
- 是:输出该文件的绝对路径
- 否:不搭理
public class FileDemo4 {
public static void main(String[] args) {
File srcFolder = new File("D:\");
getAllClassFilesPath(srcFolder);
}
private static void getAllClassFilesPath(File srcFolder) {
try {
//获得当前目录下的所有文件夹
File[] files = srcFolder.listFiles();
//遍历files对象
for (File file : files) {
//判断当前是否为文件夹
if(file.isDirectory()){
getAllClassFilesPath(file);
}else{
if(file.getName().endsWith(".class")){
System.out.println(file.getAbsolutePath());
}
}
}
} catch (Exception e) {
e.getMessage();
}
}
}
- C加加游戏编程,大神十年的绝技,正确的入门,这才叫学习
- 我们应该担心吗?人工智能现在可以通过交谈来学习新单词!
- 印度财政部:比特币是纯粹投机行为 区块链资产是“庞氏骗局”
- 法律人工智能实验室成立,法官和律师会丢饭碗吗?
- 让GridView中CheckBox列支持FireFox
- 在ASP.NET MVC中通过URL路由实现对多语言的支持
- AI加持下的假肢将会越来越聪明
- 通过几个Hello World感受.NET Core全新的开发体验
- ASP.NET MVC三个重要的描述对象:ControllerDescriptor
- 基于自制数据集的MobileNet-SSD模型训练
- .NET Core采用的全新配置系统[1]: 读取配置数据
- ASP.NET MVC三个重要的描述对象:ActionDescriptor
- 升级比特币区块链后,以特币已叩响成功的大门
- .NET Core采用的全新配置系统[2]: 配置模型设计详解
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- mycat数据库集群系列之mysql主从同步设置
- Tun/Tap接口使用指导
- Swift中? 、! 和 ??
- 故障分析 | 记一次 MySQL 主从双写导致的数据丢失问题
- 集成 SpringBoot 2.3.2 + Shiro 1.5.3 + jwt (无状态)
- 技术译文 | MySQL 8.x DDL 和查询重写插件
- iOS webp图片展示处理
- Android内存优化 | LeakCanary/Profiler & 非静态内部类耗时操作 实战分析
- 使用keycloak实现k8s用户权限的统一管理
- python魔法方法是什么
- 如何同步上游分支代码?
- 在 Pycharm 中安装及使用 Jupyter (图文详解)
- 【经验分享】如何使用keras进行多主机分布式训练
- 分享一种接口的日志格式
- Python 基础(二):基本语句