一、File
- 文件和目录路径的抽象表现形式,可以以文件或者文件路径构建成一个File对象,然后可以对该文件进行操作
- 相对路径:相对于参照物的路径,idea中多使用相对路径
- 绝对路径:从盘符开始的
1.1、file的构造方法
方法名 |
描述 |
[File](…/…/java/io/File.html#File(java.io.File, java.lang.String))(File parent, String child) |
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例 |
File(String pathname) |
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例 |
[File](…/…/java/io/File.html#File(java.lang.String, java.lang.String))(String parent, String child) |
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 |
File(URI uri) |
通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。 |
1.2、创建方法
方法名 |
描述 |
boolean createNewFile() |
当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。 |
boolean mkdir() |
创建此抽象路径名指定的目录 |
boolean mkdirs() |
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录 |
1.3、删除文件及空文件夹
方法名 |
描述 |
boolean delete() |
删除此抽象路径名表示的文件或目录 |
1.4、判断方法
方法名 |
描述 |
boolean exists() |
测试此抽象路径名表示的文件或目录是否存在。 |
boolean isFile() |
测试此抽象路径名表示的文件是否是一个标准文件 |
boolean isDirectory() |
测试此抽象路径名表示的文件是否是一个目录 |
1.5、剪切并重命名到指定文件
方法名 |
描述 |
boolean renameTo(File dest) |
剪切调用者的文件内容到dest文件中 |
1.6、获取的方法
方法名 |
描述 |
public String getAbsolutePath() |
返回此抽象路径名的绝对路径名字符串 |
public String getPath() |
返回File构造方法中的路径 |
public String getParent() |
返回此抽象路径名父目录的路径名字符串 |
public String getName() |
返回由此抽象路径名表示的文件或目录的名称 |
public long length() |
返回由此抽象路径名表示的文件的长度 |
1.7、过滤方法
方法名 |
描述 |
public String[] list() |
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录(一级目录下所有的目录以及文件) |
public String[] list(FilenameFilter fifilter) |
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目 |
public File[] listFiles(FilenameFilter fifilter) |
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录 |
public File[] listFiles(FileFilter fifilter) |
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录 |
public File[] listFiles() |
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。 |
1.8、练习
package com.la.demo;
import java.io.File;
import java.io.FileFilter;
import java.util.Scanner;
public class TestFile5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean flag=true;
do {
System.out.println("请输入文件目录");
String next = scanner.next();
File file = new File(next);
if (file.exists()){
if (file.isDirectory()){
file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().endsWith("java")&&pathname.length()>5*1024){
System.out.println(pathname.getName());
return true;
}
return false;
}
});
flag=false;
}else {
System.out.println("你输入的不是目录");
}
}else {
System.out.println("目录有误,请重新输入文件目录");
}
}while (flag);
}
}
1.9、练习
package com.la.demo;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.util.Arrays;
public class TestFile2 {
public static void main(String[] args) {
File file = new File("E:\\home");
String[] list = file.list();
System.out.println(Arrays.toString(list));
String[] jpgs = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if (name.endsWith("jpg")) {
return true;
}
return false;
}
});
System.out.println(Arrays.toString(jpgs));
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname)