文件(File)
阅读 (434435)1、File类概述
文件和目录路径名的抽象表示形式
2、File类构造方法
public File(String pathname):根据一个路径得到File对象
public File(String parent,String child):根据一个目录和一个子文件/目录得到File对象
public File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象
演示代码
public static void main(String[] args) {
// File(String pathname):根据一个路径得到File对象
// 把e:\\demo\\a.txt封装成一个File对象
File file = new File("E:\\demo\\a.txt");
// File(String parent, String child):
//根据一个目录和一个子文件/目录得到File对象
File file2 = new File("E:\\demo", "a.txt");
// File(File parent, String child):
//根据一个父File对象和一个子文件/目录得到File对象
File file3 = new File("e:\\demo");
File file4 = new File(file3, "a.txt");
// 以上三种方式其实效果一样
}
3、File类的成员方法
(a)创建功能
public boolean createNewFile()
public boolean mkdir()
public boolean mkdirs()
// 需求:我要在e盘目录下创建一个文件夹demo
File file = new File("e:\\demo");
System.out.println("mkdir:" + file.mkdir());
// 需求:我要在e盘目录demo下创建一个文件a.txt
File file2 = new File("e:\\demo\\a.txt");
System.out.println("createNewFile:" + file2.createNewFile());
//创建多级文件夹
File file7 = new File("e:\\aaa\\bbb\\ccc\\ddd");
System.out.println("mkdirs:" + file7.mkdirs());
(b)删除功能
public boolean delete()
// 删除功能:我要删除a.txt这个文件
File file3 = new File("a.txt");
System.out.println("delete:" + file3.delete());
注意:
A:如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。
B:Java中的删除不走回收站。
C:要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
©重命名功能
public boolean renameTo(File dest)
public static void main(String[] args) {
// 创建一个文件对象
File file = new File("林青霞.jpg");
//需求:我要修改这个文件的名称为"东方不败.jpg"
File newFile = new File("东方不败.jpg");
System.out.println("renameTo:" + file.renameTo(newFile));
//剪贴
File file2 = new File("东方不败.jpg");
File newFile2 = new File("e:\\林青霞.jpg");
System.out.println("renameTo:" + file2.renameTo(newFile2));
}
注意事项:
如果路径名相同,就是改名。
如果路径名不同,就是改名并剪切。
相对路径和绝对路径:
路径以盘符开始:绝对路径 c:\a.txt
路径不以盘符开始:相对路径 a.txt
(d)判断功能
public boolean isFile():是否是文件
public boolean isDirectory():是否是文件夹
public boolean exists():是否存在
public boolean canRead():是否可读
public boolean canWrite():是否可写
public boolean isHidden():是否隐藏
(e)基本获取功能
public String getAbsolutePath()
public String getPath()
public String getName()
public long length()
public long lastModified()
public static void main(String[] args) {
// 创建文件对象
File file = new File("demo\\test.txt");
System.out.println("getAbsolutePath:" + file.getAbsolutePath());
//getAbsolutePath:E:\javaSE\File\demo\test.txt
System.out.println("getPath:" + file.getPath());
//demo\test.txt
System.out.println("getName:" + file.getName());
//test.txt
System.out.println("length:" + file.length());
//length:5(文件大小,字节数)
System.out.println("lastModified:" + file.lastModified());
//文件的最后修改时间:lastModified:1444324936634(毫秒值)
//把最后修改时间转成日期形式
// 1416471971031
Date d = new Date(1416471971031L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);//2019-11-20 16:26:11
}
(f)高级获取功能
public String[] list():获取某个路径下所有的文件、文件夹的名称
public File[] listFiles():获取某个路径下所有的文件对象(文件:文件夹+文件夹)