File
文件类
File 类:代表操作系统的文件对象,是用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹),广义来说操作系统认为文件包含(文件和文件夹)
File 类构造器:
public File(String pathname)
:根据路径获取文件对象public File(String parent , String child)
:根据父路径和文件名称获取文件对象
File 类创建文件对象的格式:
File f = new File("绝对路径/相对路径");
- 绝对路径:从磁盘的的盘符一路走到目的位置的路径
- 绝对路径依赖具体的环境,一旦脱离环境,代码可能出错
- 一般是定位某个操作系统中的某个文件对象
- 相对路径:不带盘符的(重点)
- 默认是直接相对到工程目录下寻找文件的。
- 相对路径只能用于寻找工程下的文件,可以跨平台
File f = new File("文件对象/文件夹对象")
广义来说:文件是包含文件和文件夹的
public class FileDemo{ public static void main(String[] args) { // 1.创建文件对象:使用绝对路径 // 文件路径分隔符: // -- a.使用正斜杠: / // -- b.使用反斜杠: \ // -- c.使用分隔符API:File.separator //File f1 = new File("D:"+File.separator+"it"+File.separator //+"图片资源"+File.separator+"beautiful.jpg"); File f1 = new File("D:\seazean\图片资源\beautiful.jpg"); System.out.println(f1.length()); // 获取文件的大小,字节大小 // 2.创建文件对象:使用相对路径 File f2 = new File("Day09Demo/src/dlei.txt"); System.out.println(f2.length()); // 3.创建文件对象:代表文件夹。 File f3 = new File("D:\it\图片资源"); System.out.println(f3.exists());// 判断路径是否存在!! } }
常用API
常用方法
方法 | 说明 |
String getAbsolutePath() | 返回此 File 的绝对路径名字符串 |
String getPath() | 获取创建文件对象的时候用的路径 |
String getName() | 返回由此 File 表示的文件或目录的名称 |
long length() | 返回由此 File 表示的文件的长度(大小) |
long length(FileFilter filter) | 文件过滤器 |
public class FileDemo { public static void main(String[] args) { // 1.绝对路径创建一个文件对象 File f1 = new File("E:/demo/test.jpg"); // a.获取它的绝对路径。 System.out.println(f1.getAbsolutePath()); // b.获取文件定义的时候使用的路径。 System.out.println(f1.getPath()); // c.获取文件的名称:带后缀。 System.out.println(f1.getName()); // d.获取文件的大小:字节个数。 System.out.println(f1.length()); System.out.println("------------------------"); // 2.相对路径 File f2 = new File("demo/src/test.txt"); // a.获取它的绝对路径。 System.out.println(f2.getAbsolutePath()); // b.获取文件定义的时候使用的路径。 System.out.println(f2.getPath()); // c.获取文件的名称:带后缀。 System.out.println(f2.getName()); // d.获取文件的大小:字节个数。 System.out.println(f2.length()); } }
判断方法
方法列表:
boolean exists()
:此 File 表示的文件或目录是否实际存在boolean isDirectory()
:此 File 表示的是否为目录boolean isFile()
:此 File 表示的是否为文件
File f = new File("Demo/src/test.txt"); // a.判断文件路径是否存在 System.out.println(f.exists()); // true // b.判断文件对象是否是文件,是文件返回true ,反之 System.out.println(f.isFile()); // true // c.判断文件对象是否是文件夹,是文件夹返回true ,反之 System.out.println(f.isDirectory()); // false
创建删除
方法列表:
boolean createNewFile()
:当且仅当具有该名称的文件尚不存在时, 创建一个新的空文件boolean delete()
:删除由此 File 表示的文件或目录(只能删除空目录)boolean mkdir()
:创建由此 File 表示的目录(只能创建一级目录)boolean mkdirs()
:可以创建多级目录(建议使用)
遍历目录
public String[] list()
:获取当前目录下所有的一级文件名称到一个字符串数组中去返回public File[] listFiles()
:获取当前目录下所有的一级文件对象到一个文件对象数组中去返回(重点)public long lastModified
:返回此抽象路径名表示的文件上次修改的时间
public class FileDemo { public static void main(String[] args) { File dir = new File("D:\demo"); // a.获取当前目录对象下的全部一级文件名称到一个字符串数组返回。 String[] names = dir.list(); for (String name : names) { System.out.println(name); } // b.获取当前目录对象下的全部一级文件对象到一个File类型的数组返回。 File[] files = dir.listFiles(); for (File file : files) { System.out.println(file.getAbsolutePath()); } // c File f1 = new File("D:\demo\beautiful.jpg"); long time = f1.lastModified(); // 最后修改时间! SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(time)); } }
文件搜索
递归实现文件搜索(非规律递归)
- 定义一个方法用于做搜索
- 进入方法中进行业务搜索分析