File类
创建File类的格式
File f = new File(相对路径/绝对路径)
绝对路径:从磁盘的的盘符一路走到目的位置的路径。
– 绝对路径依赖具体的环境,一旦脱离环境,代码可能出错!!
– 一般是定位某个操作系统中的某个文件对象。
相对路径:不带盘符的。(重点)
– 默认是直接相对到工程目录下寻找文件的。
– 相对路径只能用于寻找工程下的文件。
– 能用相对路径就应该尽量使用,可以跨平台!
小结:
- 创建文件对象可以使用绝对路径也可以使用相对路径
- 相对路径只能找到工程下的路径
- 文件对象可以表示文件也可以表示文件对象
例子
public class FileDemo01 {
public static void main(String[] args) {
// 1.创建文件对象:使用绝对路径
// 文件路径分隔符:
// -- a.使用正斜杠: /
// -- b.使用反斜杠: \\
// -- c.使用分隔符API:File.separator
//File f1 = new File("D:/itcast/图片资源/beautiful.jpg");
//File f1 = new File("D:"+File.separator+"itcast"+File.separator+"图片资源"+File.separator+"beautiful.jpg");
File f1 = new File("D:\\itcast\\图片资源\\beautiful.jpg");
System.out.println(f1.length()); // 获取文件的大小,字节大小
// 2.创建文件对象:使用相对路径
File f2 = new File("Day09Demo/src/dlei01.txt");
System.out.println(f2.length());
// 3.创建文件对象:代表文件夹。
File f3 = new File("D:\\itcast\\图片资源");
System.out.println(f3.exists());// 判断路径是否存在!!
}
}
File类的常用API
-
public String getAbsolutePath() :返回此File的绝对路径名字符串。
-
public String getPath() : 获取创建文件对象的时候用的路径
-
public String getName() : 返回由此File表示的文件或目录的名称。
-
public long length() : 返回由此File表示的文件的长度。(字节个数)
-
public boolean exists() :此File表示的文件或目录是否实际存在。
-
public boolean isDirectory():此File表示的是否为目录。
-
public boolean isFile() :此File表示的是否为文件
-
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,
创建一个新的空文件。 (几乎不用的,因为以后文件都是自动创建的!) -
public boolean delete() :删除由此File表示的文件或目录。 (只能删除空目录)
-
public boolean mkdir() :创建由此File表示的目录。(只能创建一级目录)
-
public boolean mkdirs() :可以创建多级目录(建议使用的)
File针对目录的遍历
- public String[] list():
获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。 - public File[] listFiles()(常用):
获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点)