当前位置:网站首页>文件系统的简单操作
文件系统的简单操作
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
}
边栏推荐
猜你喜欢
Based on the statistical QDirStat Qt directory
KingbaseES数据库启动失败,报“内存段超过可用内存”
tkmapper的crud示例:
基于Qt的目录统计QDirStat
八年软件测试工程师带你了解-测试岗进阶之路
Shell 函数
sql注入一般流程(附例题)
4-way two-way HDMI integrated business high-definition video optical transceiver 8-way HDMI high-definition video optical transceiver
【MD5】采用MD5+盐的加密方式完成注册用户和登录账号
深度学习——以CNN服装图像分类为例,探讨怎样评价神经网络模型
随机推荐
Metaverse "Drummer" Unity: Crazy expansion, suspense still exists
Power button (LeetCode) 215. The first K largest elements in the array (2022.08.03)
基于 SSE 实现服务端消息主动推送解决方案
MySQL query optimization and tuning
全网没有之一的JMeter 接口测试流程详解
The Shell function
Introduction to mq application scenarios
SQL query String field less than 10 how to check
案例 | 重庆银行流动数据安全挑战及应对实践
用户与用户互发红包/支付宝C2C/B2C现金红包php源码示例/H5方式/兼容苹果/安卓
The video of machine learning to learn [update]
数据治理平台项目总结和分析
目标检测-中篇
unity框架之缓存池
Deep learning -- CNN clothing image classification, for example, discussed how to evaluate neural network model
SQL injection in #, - +, - % 20, % 23 is what mean?
【MD5】采用MD5+盐的加密方式完成注册用户和登录账号
y86.第四章 Prometheus大厂监控体系及实战 -- prometheus存储(十七)
外卖店优先级
SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropri