一、File类的使用
1.1 概述
-
File 类以及本章中的各种流都定义在 java.io 包下
-
一个File对象代表硬盘或网络中可能存在的一个文件或文件夹(文件目录)
-
File 能新建、删除、重命名 文件和目录,但 File不能访问文件内容本身。如果我们想要访问文件内容本身,就需要使用 输入/输出流
-
在Java程序中表示一个真实存在的文件或目录用File对象,但定义的File对象不一定对应真实存在的文件或目录(file not found)
1.2 构造器
-
public File(String pathname): 以pathname为路径创建File对象
- pathname是绝对路径或相对路径都可以
- 如果为相对路径,则默认的当前路径在系统属性 user.dir 中存储
-
public File(String parent, String child): 以parent为父路径,child为子路径创建File对象 【将父子路径拼接到一起就是个完整路径】
-
public File(File parent, String child): 根据一个父 File对象和子文件路径创建File对象【根据一个文件/目录的地址+child拼接新地址】
简述一下绝对路径和相对路径的概念:
- 绝对路径:属于一个从盘符开始的完整路径
- 相对路径:相对于项目目录的路径
- IDEA中,main中的文件的相对路径,是相对于"当前工程"
- IDEA中,单元测试方法中的文件的相对路径,是相对于"当前module"【模块】
代码演示:
package com.zwh.shangguigu.fileandio_;
import java.io.File;
/**
* @author Bonbons
* @version 1.0
*/
public class FileObjectTest {
public static void main(String[] args) {
//通过pathname创建File对象
String path = "D:\\dataBase";
File file1 = new File(path);
//通过父路径+子路径创建File对象
String parent = "C:\\aaa";
String child = "bbb.txt";
File file2 = new File(parent, child);
//通过File对象+子路径创建File对象
File parentDir = new File("d:\\aaa");
String childFile = "bbb.txt";
File file3 = new File(parentDir, childFile);
//我们来打印一些File对象相关的信息
System.out.println("file1 = " + file1);
System.out.println("文件/目录的名称: " + file2.getName());
System.out.println("文件/目录的构造路径名: " + file3.getPath());
System.out.println("文件/目录的绝对路径名: " + file1.getAbsoluteFile());
System.out.println("文件/目录的父目录名: " + file2.getParent());
}
}
- 总结:
-
无论该路径下是否存在文件或者目录,都不影响File对象的创建
-
window的路径分隔符使用“\”,而Java程序中的“\”表示转义字符,所以在Windows中表示路径需要使用\\
或/
,或者用File.separator常量值表示
File file2 = new File(“d:” + File.separator + “atguigu” + File.separator + “info.txt”);
-
当构造路径是绝对路径时,那么getPath和getAbsolutePath结果一样
-
当构造路径是相对路径时,那么getAbsolutePath的路径 = user.dir的路径 + 构造路径
1.3 常用方法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)