组团学

文件(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():获取某个路径下所有的文件对象(文件:文件夹+文件夹)

需要 登录 才可以提问哦