二十五.File
(有异常直接抛出即可)
25.1 概述
- File对象表示一个路径,可以是文件的路径,也可以是文件夹的路径
- 这个路径可以存在,也可以不存在
25.2 File构造方法
方法 | 说明 |
---|
public File(String pathname) | 根据文件路径创建文件对象 |
public File(String parent, String child) | 根据父路径名字符串和子路径名字符串创建文件对象 |
public File(File parent, String child) | 根据父路径对应文件对象和子路径名字符串创建文件对象 |
import java.io.File;
public class Test01 {
public static void main(String[] args) {
String str = "E:\\software\\ideak\\ideapro\\kwhcode\\a.txt";
File file1 = new File(str);
System.out.println(str);
String fu = "E:\\software\\ideak\\ideapro\\kwhcode";
String zi = "a.txt";
File file2 = new File(fu,zi);
System.out.println(file2);
File file3 = new File("E:\\software\\ideak\\ideapro\\kwhcode");
String str1 = "a.txt";
File file4 = new File(file3,str1);
System.out.println(file4);
}
}
25.3 File常见的成员方法
方法名 | 说明 |
---|
public boolean isDirectory() | 判断此路径名表示的File是否为文件夹 |
public boolean isFile() | 判断此路径名表示的File是否为文件 |
public boolean exists() | 判断此路径名表示的File是否存在 |
public long length() | 返回文件的大小(字节数量) |
public String getAbsolutePath() | 返回文件的绝对路径 |
public String getPath() | 返回定义文件时使用的路径 |
public String getName() | 返回文件的名称,带后缀 |
public long lastModified() | 返回文件的最后修改时间(时间毫秒值) |
public boolean createNewFile() | 创建一个新的空的文件 |
public boolean mkdir() | 创建单级文件夹 |
public boolean mkdirs() | 创建多级文件夹 |
public boolean delete() | 删除文件、空文件夹 |
delete删除默认只删除文件和空文件,并且是直接删除不走回收站
import java.io.File;
public class Test01 {
public static void main(String[] args) {
File f1 = new File("E:\\a.txt");
System.out.println(f1.isDirectory());
System.out.println(f1.isFile());
System.out.println(f1.exists());
System.out.println();
File f2 = new File("E:\\aaa");
System.out.println(f2.isDirectory());
System.out.println(f2.isFile());
System.out.println(f2.exists());
System.out.println();
File f3 = new File("E:\\aaaa");
System.out.println(f3.isFile());
System.out.println(f3.isDirectory());
System.out.println(f3.exists());
System.out.println();
File f4 = new File("E:\\a.txt");
System.out.println(f4.length());
File f5 = new File("E:\\aaa");
System.out.println(f5.length());
File f6 = new File("E:\\a.txt");
String pathF6 = f6.getAbsolutePath();
System.out.println(pathF6);
File f7 = new File("code_java02\\kwh.txt");
System.out.println(f7.getAbsolutePath());
File f8 = new File("E:\\a.txt");
String pathF8 = f8.getPath();
System.out.println(pathF8);
File f9 = new File("code_java02\\kwh.txt");
String pathF9 = f9.getPath();
System.out.println(pathF9);
File f10 = new File("E:\\a.txt");
System.out.println(f10.getName());
File f11 = new File("E:\\aaa");
System.out.println(f11.getName());
}
}
import java.io.File;
import java.io.IOException;
public class Test02 {
public static void main(String[] args) throws IOException {
File f1 = new File("E:\\aaa");
boolean newFile = f1.createNewFile();
System.out.println(newFile);
File f2 = new File("E:\\aaa\\aaa\\bbb\\ccc");
boolean b = f2.mkdir();
System.out.println(b);
File f3 = new File("E:\\bbb\\ggg");
boolean c = f3.mkdirs();
System.out.println(c);
File f4 = new File("E:\\bbb\\ggg");
boolean d = f4.delete();
System.out.println(d);
}
}
25.4 File获取并遍历的方法
方法 | 解释 |
---|
public File[ ] listFiles() | 获取当前该路径下所有内容 |
import java.io.File;
public class Test03 {
public static void main(String[] args) {
File f = new File("E:\\K");
File[] files = f.listFiles();
for (File file : files) {
System.out.println(file);
}
}
}
25.5Test
25.5.1 test01
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File f1 = new File("code_java02\\filedemo\\aaa");
f1.mkdirs();
File f2 = new File(f1,"a.txt");
boolean newFile = f2.createNewFile();
if (newFile){
System.out.println("创建成功");
}else {
System.out.println("创建失败");
}
}
}
25.5.2 test02
import java.io.File;
public class Test02 {
public static void main(String[] args) {
File f1 = new File("code_java02\\filedemo\\aaa");
boolean file = getFile(f1);
System.out.println(file);
}
public static boolean getFile(File file){
File[] files = file.listFiles();
for (File file1 : files) {
if (file1.isFile() && file1.getName().endsWith(".mpv")){
return true;
}
}
return false;
}
}