❤️ Author: 老九
☕️ 个人博客:老九的CSDN博客
🙏 个人名言:不可控之事 乐观面对
😍 系列专栏:
文章目录
- 文件
- 概念
- 文件的分类
- 常见的文件类型
- 文件系统的目录结构
- 路径
- Java中的文件操作
- 文件系统相关操作
- 绝对路径
- 相对路径
- 文件是否存在
- 绝对路径
- 相对路径
- 文件的创建和删除
- 创建文件
- 删除文件
- 创建目录
- 创建一级目录
- 创建多级目录
- 输出文件
- 通过list列出文件
- 通过File对象来输出
- 重命名文件
文件
概念
普通的文件是保存在硬盘上的
网卡:操作系统把这样的硬件设备也抽象成一个文件,用来简化开发。显示器、键盘都被操作系统视为文件
文件的分类
1.文本文件:我们看到的里面存储的是字符。但文本文件本质上存的是字节。
2.二进制文件:存储的是字节。
判断一个文件是不是二进制编码,用记事本打开就好。打开是乱码,就是二进制文件,不是乱码就是文本文件。
是乱码,就说明这个文件在存储的时候是以二进制存储的。
常见的文件类型
- .txt,.c,.java 都是文本文件
- .doc,.ppt,.exe,.zip,.class 等都属于二进制文件
文件系统的目录结构
树形结构
路径
1.绝对路径:以盘符开头。例如:D:\BaiduNetdiskDownload\壁纸\1月日历.png。
2.相对路径:以点或点点 开头的,其中一个点是当前路径,两个点是当前路径的父路径(上级路径)
Java中的文件操作
Java当中的文件操作,主要有两类:
1.文件系统相关的操作:就是通过“文件资源管理器”能够完成一些功能。列出目录中有哪些文件,创建文件,创建目录,删除文件,重命名文件等等,Java 当中提供了一个 File 类,通过这个类来完成上述操作,File 类就描述了文件/目录。
2.文件内容相关的操作。
文件系统相关操作
1.Java 当中提供了一个 File 类,通过这个类来完成上述操作,File 类就描述了文件/目录。
2.基于这个对象就可以实现上面的这些功能。File 的构造方法,能够传入一个路径,来指定一个文件,这个路径可以是绝对路径也可以是相对路径。
3.构造好对象,就可以通过方法来实现一些功能。
绝对路径
在使用绝对路径的时候,在 File 的构造方法中写出来就行了,建议用 反斜杠,如果是用斜杠的话,就得再用一个斜杠来转义。所以建议用 反斜杠。代码如下:
public static void main(String[] args) throws IOException {//通过绝对路径来定位。File f1 = new File("d/Test1.txt");//获取到文件的父目录System.out.println(f1.getParent());//获取到文件名System.out.println(f1.getName());//获取到文件路径System.out.println(f1.getPath());//获取到绝对路径System.out.println(f1.getAbsolutePath());//获取到绝对路径System.out.println(f1.getCanonicalPath());
}
相对路径
1.说到相对路径,一样得先明确一个“基准路径”,代码中基准路径是啥:光看代码看不出来。
2.如果是通过 IDEA 的方式来运行程序,此时的基准路径就是当前项目所在的路径。此时的 基准路径 就是项目所在路径。
3.后续还会把一个 Java 代码打成 war 包,放到 Tomcat 上面去运行。这种情况下,基准路径 就是 Tomcat 的 bin 目录。
public static void main(String[] args) throws IOException {File f2 = new File("./Test1.txt");//获取到文件的父目录System.out.println(f2.getParent());//获取到文件名System.out.println(f2.getName());//获取到文件路径System.out.println(f2.getPath());//获取到绝对路径System.out.println(f2.getAbsolutePath());//获取到绝对路径System.out.println(f2.getCanonicalPath());
}
文件是否存在
绝对路径
通过绝对路径来看,文件是否存在,是否是一个目录,是否是一个普通文件:
public static void main(String[] args) {File f = new File("d:/Test1.txt");//判断文件是否存在System.out.println(f.exists());//判断文件是否是一个目录System.out.println(f.isDirectory());//判断文件是否是一个普通文件System.out.println(f.isFile());
}
相对路径
通过相对路径来看,文件是否存在,是否是一个目录,是否是一个普通文件:
public static void main(String[] args) {//换成相对路径就全是 false 了File f = new File("./Test1.txt");//判断文件是否存在System.out.println(f.exists());//判断文件是否是一个目录System.out.println(f.isDirectory());//判断文件是否是一个普通文件System.out.println(f.isFile());
}
文件的创建和删除
创建文件
通过 createNewFile 来创建文件,代码如下:
public static void main(String[] args) throws IOException {//文件的创建和删除File f = new File("./Test1.txt");System.out.println(f.exists());System.out.println("创建文件");f.createNewFile();System.out.println("创建文件结束");System.out.println(f.exists());
}
删除文件
通过 delete 方法直接删除,代码如下:
public static void main2(String[] args) {File f = new File("./Test1.txt");//删除文件,直接删除f.delete();
}
创建目录
创建一级目录
通过 mkdir 来创建目录。代码如下:
public static void main(String[] args) {File f = new File("./aaa");//创建目录f.mkdir();//说明已经创建好目录了。System.out.println(f.isDirectory());
}
创建多级目录
通过 mkdirs 来创建多级目录。代码如下:
public static void main(String[] args) {//创建多级目录File f = new File("./aaa/bbb/ccc/ddd");f.mkdirs();System.out.println(f.isDirectory());
}
输出文件
通过list列出文件
public static void main1(String[] args) {File f = new File("./");//把 ./ 目录下所有的目录全部列出来System.out.println(Arrays.toString(f.list()));
}
通过File对象来输出
public static void main(String[] args) {File f = new File("./");//通过 File 对象来输出。System.out.println(Arrays.toString(f.listFiles()));
}
重命名文件
通过 renameTo 来重命名文件。代码如下:
public static void main(String[] args) {File f = new File("./aaa");File f2 = new File("./zzz");//把 aaa 的名字改成 zzzf.renameTo(f2);
}
♥♥♥码字不易,大家的支持就是我坚持下去的动力♥♥♥
版权声明:本文为CSDN博主「亚太地区百大最帅面孔第101名」的原创文章