当前位置:网站首页>文件系统的简单操作
文件系统的简单操作
2022-08-04 04:03:00 【Master_hl】
1. 文件的存储位置
文件是存储在硬盘上的!!
简单了解硬盘和内存的区别:
1.内存存储空间小,硬盘空间大。
2.内存访问速度快,硬盘访问速度慢。
3.内存成本高,硬盘便宜。
4.内存断点数据丢失,硬盘断点数据还在。
文件也是被操作系统管理的,操作系统内核中有一个专门的模块,文件系统。
2. File 概述
属性
修饰符及类型 | 属性 | 说明 |
| static String | pathSeparator | 依赖于系统的路径分隔符 '/',String 类型的表示 |
| static char | pathSeparator | 依赖于系统的路径分隔符 '/',char 类型的表示 |
构造方法
方法 | 说明 |
File(File parent, String child) | 根据父目录 + 孩子文件路径,创建一个新的 File 实例 |
| File(String pathname) | 根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径 |
File(String parent, String child) | 根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用路径表示 |
方法
修饰符及返回值类型 | 方法 | 说明 |
| String | getParent() | 返回 File 对象的父目录文件路径 |
| String | getName() | 返回 FIle 对象的纯文件名称 |
| String | getPath() | 返回 File 对象的文件路径 |
| String | getAbsolutePath() | 返回 File 对象的绝对路径 |
String | getCanonicalPath() | 返回 File 对象的修饰过的绝对路径 |
| boolean | exists() | 判断 File 对象描述的文件是否真实存在 |
| boolean | isDirectory() | 判断 File 对象代表的文件是否是一个目录 |
| boolean | isFile() | 判断 File 对象代表的文件是否是一个普通文件 |
| boolean | createNewFile() | 根据 File 对象,自动创建一个空文件。成功创建后返回 true |
| boolean | delete() | 根据 File 对象,删除该文件。成功删除后返回 true |
| void | deleteOnExit() | 根据 File 对象,标注文件将被删除,删除动作会到 JVM 运行结束时才会进行 |
| String[] | list() | 返回 File 对象代表的目录下的所有文件名 |
| File[] | listFiles() | 返回 File 对象代表的目录下的所有文件,以 File 对象表示 |
| boolean | mkdir() | 创建 File 对象代表的目录 |
| boolean | mkdirs() | 创建 File 对象代表的目录,如果必要,会创建中间目录 |
boolean | renameTo(File dest) | 进行文件改名,也可以视为我们平时的剪切、粘贴操作 |
| boolean | canRead() | 判断用户是否对文件有可读权限 |
| boolean | canWrite() | 判断用户是否对文件有可写权限 |
绝对路径:以盘符开头的路径,称为 "绝对路径"。
相对路径:以 . 或者 .. 开头的路径称为 "相对路径"。
代码示例1
get系列的方法演示
public static void main(String[] args) throws IOException {
File file = new File("./test.txt");
System.out.println(file.getParent());
System.out.println(file.getName());
System.out.println(file.getPath());
System.out.println(file.getAbsoluteFile());
System.out.println(file.getCanonicalFile());
}
代码示例2
普通文件的创建
public static void main(String[] args) throws IOException {
// 前面没写 ./ ,也相当于是 ./ , ./可以神略。
File file = new File("hello.txt");
System.out.println(file.exists()); // false
System.out.println(file.isDirectory()); // false
System.out.println(file.isFile()); // false
System.out.println("==============");
file.createNewFile();
System.out.println(file.exists()); // true
System.out.println(file.isDirectory()); // false
System.out.println(file.isFile()); // true
}代码示例3
普通文件的删除
public static void main(String[] args) throws InterruptedException {
File file = new File("hello.txt");
//file.delete();
//System.out.println(file.exists()); // false
// 程序退出时才删除
file.deleteOnExit(); // 用来创建临时文件
Thread.sleep(5000);
System.out.println(file.exists()); // true
}代码示例4
创建目录
public static void main(String[] args) {
File file = new File("test/aa/bb");
System.out.println(file.exists()); // false
System.out.println(file.isDirectory()); // false
System.out.println("=============");
//file.mkdir(); // 创建单级目录,使用这个创建多级目录,下面会输出两个 false
file.mkdirs(); // 创建多级目录
System.out.println(file.exists());
System.out.println(file.isDirectory());
}代码示例5
文件重命名
public static void main(String[] args) {
File file1 = new File("test1.txt");
File file2 = new File("test2.txt");
file1.renameTo(file2); // 把文件 file1 的名字改成 test2.txt
}边栏推荐
- Use serve to build a local server
- Implementing a server-side message active push solution based on SSE
- RSS订阅微信公众号初探-feed43
- 力扣(LeetCode)215. 数组中的第K个最大元素(2022.08.03)
- sql注入一般流程(附例题)
- Exclude_reserved_words 排除关键字
- MySQL 查询练习(1)
- SQL注入中 #、 --+、 --%20、 %23是什么意思?
- SQL query String field less than 10 how to check
- JVM内存和垃圾回收-07.堆
猜你喜欢

如果禁用了安全启动,GNOME 就会发出警告

Take care of JVM performance optimization (own note version)

拿捏JVM性能优化(自己笔记版本)
SQL注入中 #、 --+、 --%20、 %23是什么意思?

MySQL query optimization and tuning

This Thursday evening at 19:00, the fourth live broadcast of knowledge empowerment丨The realization of equipment control of OpenHarmony smart home project

2022杭电多校联赛第五场 题解

复制带随机指针的链表

基于 SSE 实现服务端消息主动推送解决方案
sql注入一般流程(附例题)
随机推荐
千兆2光8电管理型工业以太网交换机WEB管理X-Ring一键环网交换机
用户与用户互发红包/支付宝C2C/B2C现金红包php源码示例/H5方式/兼容苹果/安卓
y86.第四章 Prometheus大厂监控体系及实战 -- prometheus存储(十七)
db2中kettle报错 Field [XXX] is required and couldn‘t be found 解决方法
2022年软件测试——精选金融银行面试真题
技术解析|如何将 Pulsar 数据快速且无缝接入 Apache Doris
[Ryerson emotional speaking/singing audiovisual dataset (RAVDESS)]
4-way two-way HDMI integrated business high-definition video optical transceiver 8-way HDMI high-definition video optical transceiver
Use serve to build a local server
八年软件测试工程师带你了解-测试岗进阶之路
Tensors - Application Cases
如何动态添加script依赖的脚本
if,case,for,while
Exclude_reserved_words 排除关键字
目标检测-中篇
DIY电工维修如何拆卸和安装开关面板插座
中信证券网上开户怎么开的?安全吗?
复现20字符短域名绕过
【项目实现】Boost搜索引擎
【Ryerson情感说话/歌唱视听数据集(RAVDESS) 】