1.File类的概述
- File更应该叫做一个路径
- 文件路径或者文件夹路径
- 路径分为绝对路径和相对路径
- 绝对路径是一个固定的路径,从盘符开始
- 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下
- 查看API指的是当前路径
- 文件和目录路径名的抽象表示形式
2.File类的构造方法
File(String pathname)
:根据一个路径得到File对象File(String parent, String child):
根据一个目录和一个子文件/目录得到File对象File(File parent, String child)
:根据一个父File对象和一个子文件/目录得到File对象
class Demo1_File {
public static void main(String[] args) {
File parent = new File("F:\\day19\\video");
String child = "001_今日内容.avi";
File file = new File(parent, child);
System.out.println(file.exists());
System.out.println(parent.exists());
}
public static void demo2() {
String parent = "F:\\day19\\video";
String child = "001_今日内容.avi";
File file = new File(parent, child);
System.out.println(file.exists());
}
public static void demo1() {
File file = new File("F:\\day19\\video\\001_今日内容.avi");
System.out.println(file.exists());
File file2 = new File("xxx.txt");
System.out.println(file2.exists());
File file3 = new File("yyy.txt");
System.out.println(file3.exists());
}
}
3.File类的创建功能
public boolean createNewFile()
:创建文件,如果已经存在就不会再次创建了public boolean mkdir()
:创建文件夹,如果已经存在就不会再次创建了public boolean mkdirs()
:创建文件夹,如果父文件夹不存在,会帮你创建出来。- 注意事项:
- 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
class Demo2_FileMethod {
public static void main(String[] args) throws IOException {
File dir1 = new File("aaa");
System.out.println(dir1.mkdir());
File dir2 = new File("bbb.txt");
System.out.println(dir2.mkdir());
File dir3 = new File("ccc\\ddd");
System.out.println(dir3.mkdirs());
}
public static void demo1() throws IOException {
File file = new File("yyy.txt");
System.out.println(file.createNewFile());
File file2 = new File("zzz");
System.out.println(file2.createNewFile());
}
}
4.File类的重命名与删除功能
public boolean renameTo(File dest):
把文件重命名为指定的文件路径public boolean delete():
删除文件或者文件夹
* B:重命名注意事项
* 如果路径名相同,就是改名。
* 如果路径名不同,就是改名并剪切。
* C:删除注意事项:
* Java中的删除不走回收站。
* 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
class Demo3_FileMethod {
public static void main(String[] args) {
File file1 = new File("yyy.txt");
System.out.println(file1.delete());
File file2 = new File("aaa");
System.out.println(file2.delete());
File file3 = new File("ccc");
System.out.println(file3.delete());
}
public static void demo1() {
File file1 = new File("ooo.txt");
File file2 = new File("D:\\xxx.txt");
System.out.println(file1.renameTo(file2));
}
}
5.File类的判断功能
public boolean isDirectory():
判断是否是目录public boolean isFile():
判断是否是文件public boolean exists():
判断是否存在public boolean canRead():
判断是否可读public boolean canWrite():
判断是否可写public boolean isHidden():
判断是否隐藏
class Demo4_FileMethod {
public static void main(String[] args) {
File file = new File("zzz");
file.setReadable(false);
System.out.println(file.canRead());
file.setWritable(true);
System.out.println(file.canWrite());
File file2 = new File("aaa.txt");
System.out.println(file2.isHidden());
System.out.println(file.isHidden());
}
public static void demo1() {
File dir1 = new File("ccc");
System.out.println(dir1.isDirectory());
File dir2 = new File("zzz");
System.out.println(dir2.isDirectory());
System.out.println(dir1.isFile());
System.out.println(dir2.isFile());
}
}
6.File类的获取功能
public String getAbsolutePath():
获取绝对路径public String getPath():
获取路径public String getName():
获取名称public long length():
获取长度。字节数public long lastModified():
获取最后一次的修改时间,毫秒值public String[] list():
获取指定目录下的所有文件或者文件夹的名称数组public File[] listFiles():
获取指定目录下的所有文件或者文件夹的File数组
class Demo5_FileMethod {
public static void main(String[] args) {
File dir = new File("F:/day19/video");
String[] arr = dir.list();
for (String string : arr) {
System.out.println(string);
}
File[] subFiles = dir.listFiles();
for (File file : subFiles) {
System.out.println(file);
}
}
public static void demo1() {
File file1 = new File("ccc.txt");
File file2 = new File("D:\\day19\\ccc.txt");
Date d = new Date(file1.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf.format(d));
}
}
7.判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
class Test3 {
public static void main(String[] args) {
File dir = new File("E:\\");
String[] arr = dir.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File file = new File(dir, name);
return file.isFile() && file.getName().endsWith(".jpg");
}
});
for (String string : arr) {
System.out.println(string);
}
}
}