1.File类
1.1 File类概述
基本概念
- 代表当前操作系统的文件对象。
- 是用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹)
1.2 创建对象的API
构造器方法:
方法声明 | 功能概述 |
---|
File(String pathname) | 根据参数指定的路径名来构造对象 |
File(String parent, String child) | 根据参数指定的父路径和子路径信息构造对象 |
File(File parent, String child) | 根据参数指定的父抽象路径和子路径信息构造对象 |
boolean exists() | 测试此抽象路径名表示的文件或目录是否存在 |
1.3 创建文件对象的格式
File f = new File("绝对路径/相对路径");
绝对路径:
- 从磁盘的的盘符一路走到目的位置的路径。
- 绝对路径依赖具体的环境,一旦脱离环境,代码可能出错!!
相对路径:
- 去找工程中的文件才可以使用相对路径。没有盘符,默认就是直接去工程下寻找文件的
- 能用相对路径就尽量用,相对路径在任何环境下都是没有问题的!
代码示例
package cn.guardwhy_01;import java.io.File;
public class FileDemo01 {public static void main(String[] args) {public static void main(String[] args) {File f1 = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\timg.jpg");System.out.println("图片长度:" + f1.length());File f2 = new File("src/test1/test01.txt");System.out.println("test01:" + f2.length());File f3 = new File("E:\\workspace\\Java\\IOStream\\src\\test1");System.out.println("文件存在:" + f3.exists());}}
}
执行结果
2 File类获取功能
2.1 常用方法
方法声明 | 功能概述 |
---|
String getAbsolutePath( ) | 返回此File的绝对路径名字符串 |
String getPath( ) | 返回由此File表示的文件或目录的名称。 |
long length( ) | 返回由此File表示的文件的长度。 |
2.2 代码示例
package cn.guardwhy.demo01;import java.io.File;
import java.text.SimpleDateFormat;public class FileDemo02 {public static void main(String[] args) {File f = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\timg.jpg");System.out.println("路径:" + f.getAbsolutePath()); System.out.println("创建文件对象的时候用的路径:" + f.getPath()); System.out.println("文件对象的名称:" + f.getName()); System.out.println("字节总数大小:" + f.length()); System.out.println("+++++++++++++++++==+++++++");File f1 = new File("src/guardwhy");System.out.println("绝对路径:" + f1.getAbsolutePath()); System.out.println("创建文件对象的时候用的路径:" + f1.getPath()); System.out.println("文件对象的名称:" + f1.getName()); System.out.println("字节总数大小:" + f1.length()); System.out.println("++++++++++++++++++++++++++++++++");System.out.println("上级目录:" + f.getParent()); System.out.println("上级目录的文件对象:"+ f.getParentFile()); long time = f.lastModified(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE a");System.out.println("格式化时间:" + sdf.format(time)); }
}
3 File类判断功能
3.1 常用方法
方法声明 | 功能概述 |
---|
boolean exists( ) | 此File表示的文件或目录是否实际存在 |
boolean isDirectory( ) | 此File表示的是否为目录。 |
boolean isFile() | 此File表示的是否为文件。 |
3.2 代码示例
package cn.guardwhy.demo01;import java.io.File;public class FileDemo03 {public static void main(String[] args) {File f1 = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\timg.jpg");System.out.println(f1.exists()); System.out.println(f1.isFile()); System.out.println(f1.isDirectory()); File f2 = new File("E:\\workspace\\Java\\IOStream\\src\\test1");System.out.println(f2.exists()); System.out.println(f2.isFile()); System.out.println(f1.isDirectory()); }
}
4.File类创建和删除
4.1 常用方法
方法声明 | 功能概述 |
---|
boolean createNewFile( ) | 当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 |
boolean delete( ) | 删除由此File表示的文件或目录。(只能删除空目录) |
boolean mkdir( ) | 创建由此File表示的目录。(只能创建一级目录) |
boolean mkdirs( ) | 创建由此File表示的目录,包括任何必需但不存在的父目录。 |
4.2 代码示例
package cn.guardwhy.demo01;import java.io.File;public class FileDemo04 {public static void main(String[] args) throws Exception{File f1 = new File("src/test1/test01.txt");System.out.println(f1.createNewFile());System.out.println(f1.delete());File f2 = new File("src/test1/test2");System.out.println(f2.delete()); File f3 = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\ab");System.out.println(f3.mkdir()); }
}
5.File目录的遍历
5.1 常用方法
方法声明 | 功能概述 |
---|
String[] list( ) | 获取当前目录下所有的一级文件名称到一个字符串数组中去返回。 |
File[] listFiles( )(常用) | 获取当前目录下所有的一级文件对象到一个文件对象数组中去返回。 |
5.2 代码示例
package cn.guardwhy.demo01;import java.io.File;public class FileDemo05 {public static void main(String[] args) {File f = new File("src/cn/guardwhy");String[] names = f.list();for(String n : names){System.out.println(n);}File[] files = f.listFiles();for(File f1 : files){System.out.println(f1.getAbsolutePath());}}
}
5.3 执行结果