A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 不二晨 金牌黑马   /  2019-1-26 09:47  /  1039 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.File类的概述和构造方法

1.1File类的概述:

封装文件和目录名称和路径的类。

1.2File类的构造方法

File(String pathname):
根据一个路径得到File对象

File(String parent, String child):
根据一个目录和一个子文件/目录得到File对象

File(File parent, String child):
根据一个父File对象和一个子文件/目录得到File对象

1.3File类的创建功能

public boolean createNewFile():
创建新的文件,如果这个文件存在,则返回创建文件失败。

public boolean mkdir():
创建文件夹 如果存在这样的文件夹,就不创建了

public boolean mkdirs():
创建多级文件夹

注意事项:
如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。

补充:

相对路径:没有带盘符的路径
绝对路径:带有盘符的路径
1.4File类的删除功能

public boolean delete():
删除文件或者文件夹
注意:
1.文件夹为空才可以删除。
2.Java中的删除不走回收站。

public class File_text1 {
    public static void main(String[] args) {
        File file = new File("H:\\java\\day 16\\笔记\\day19 - 副本.txt");
        System.out.println(file.delete());
    }
}

1.5File类的重命名功能

public boolean renameTo(File dest):
将所要更改的文件的路径及名称做指定的更改。
注意事项:

如果路径名相同,就是改名。

如果路径名不同,就是改名并剪切。

1.6File类的判断功能

public boolean isDirectory():
判断是否是目录

public boolean isFile():
判断是否是文件

public boolean exists():
判断是否存在

public boolean canRead():
判断是否可读

public boolean canWrite():
判断是否可写

public boolean isHidden():
判断是否隐藏

1.7File类的获取功能

public String getAbsolutePath():
获取绝对路径

public String getPath():
获取相对路径

public class File_text1 {
    public static void main(String[] args) {
        File file = new File("a");
        System.out.println(file.getAbsoluteFile());
        System.out.println(file.getPath());
    }
}

结果:
E:\trbsh\a

public String getParent()
返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。

public File getParentFile()
返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。

public long getTotalSpace()
返回此抽象路径名指定的分区大小。 返回总容量 单位字节

public long getFreeSpace()
返回此抽象路径名指定的分区中未分配的字节数。返回剩余容量 单位字节

public String getName():
获取名称

public long length():       
获取长度。字节数

public long lastModified():
获取最后一次的修改时间,返回毫秒值

public String[] list():       
获取指定目录下的所有文件或者文件夹的名称数组

public File[] listFiles():
获取指定目录下的所有文件或者文件夹的File数组

2.案例

2.1 判断C:\text目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称

public class File_text1 {
    public static void main(String[] args) {
        File file = new File("C:\\text");
        outputPaper(file);
    }

    private static void outputPaper(File file) {
        File[] files = file.listFiles();
        for (File f : files) {
            if (f.isFile() && f.getName().endsWith(".jpg")) {
                System.out.println(f.getName());
            }
            if (f.isDirectory()) {
                outputPaper(f);
            }
        }
    }
}


结果:
5949d37e8e84d.jpg
307811.jpg
5949d37c41ca7.jpg
5949d37e8e84d.jpg
QQ图片20180909111816.jpg

2.2 文件名称过滤器的概述及使用

2.2.1 文件名称过滤器的概述

public String[] list(FilenameFilter filter)
public File[] listFiles(FilenameFilter filter)
2.2.2 文件名称过滤器的使用:

需求:

判断C:\text目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
---------------------
【转载,仅作分享,侵删】
作者:初心魏
原文:https://blog.csdn.net/qq_42306803/article/details/86516871


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马