Java io中的File类里面的方法总览和使用示例

构造函数
File(File parent, String child)
File(String pathname)
File(String parent, String child)

创建方法

1.boolean createNewFile() 不存在返回true 存在返回false
2.boolean mkdir() 创建目录
3.boolean mkdirs() 创建多级目录

删除方法
1.boolean delete()
2.boolean deleteOnExit() 文件使用完成后删除

判断方法
1.boolean canExecute() 判断文件是否可执行
2.boolean canRead() 判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件是否存在
5.boolean isDirectory() 判断文件是否是目录
6.boolean isFile() 判断文件是否是文件
7.boolean isHidden() 判断文件是否隐藏
8.boolean isAbsolute() 判断是否是绝对路径 文件不存在也能判断

获取方法
1.String getName() 获得文件名称
2.String getPath() 获得文件路径
3.String getAbsolutePath() 获得文件绝对路径
4.String getParent() 如果没有父目录返回null
5.long lastModified() 获取最后一次修改的时间
6.long length() 获得文件大小
7.boolean renameTo(File f) 文件重命名
8.File[] liseRoots() 获取机器盘符
9.String[] list() 获得文件下的所有文件名数组
10.String[] list(FilenameFilter filter) 获得文件下的所有文件名数组(带个文件 过滤器,对文件进行筛选)
11.File[] listFiles(FilenameFilter filter) 获得文件目录下的所有文件数组(和上面的区别就是返回类型不一样)


摆上几个测试方法,自己新建个main方法调用就可以了,当然对应位置的文集什么的,可得自己修改下,才可以用。

    /**
     * 测试file的构造方法
     */
    private static void testFileConstructor() {
        //以下三个public构造方法
        //构造函数File(String pathname)
        File f1 = new File("F:/1.txt");
        System.out.println(f1);
        //File(String parent,String child)
        File f2 = new File("F:", "1.txt");
        System.out.println(f2);
        //File(File parent,String child)
        File f3 = new File("f:");//separator 跨平台分隔符
        File f4 = new File(f3, "1.txt");
        System.out.println(f4);
    }

    /**
     * 输出指定目录下的所有文件名称包括目录名称
     */
    private static void testOutAllFile(){
        File dir = new File("d:");
        String[] children = dir.list();
        if (children == null) {
            System.out.println("目录不存在或它不是一个目录");
        } else {
            for (String filename : children) {
                System.out.println(filename);
            }
        }
    }

    /**
     * 输出file的全路径名称
     */
    private static void testOutAllDir() {
        FileFilter fileFilter = new FileFilter() {
            public boolean accept(File file) {
                return file.isDirectory();
            }
        };
        File dir = new File("F:");
        File[] files = dir.listFiles(fileFilter);
        if (files == null) {
            return;
        }
        System.out.println(files.length);
        if (files.length == 0) {
            System.out.println("目录不存在或它不是一个目录");
        } else {
            for (File file : files) {
                System.out.println(file.toString());
            }
        }
    }

    /**
     * 测试 File Class 方法
     */
    private static void testFileClass() {
        File file = new File("F:/桌面.txt");
        if (!file.exists()) {//判断文件是否存在
            boolean result = false;
            try {
                result = file.createNewFile();  //创建文件
            } catch (IOException e) {
                //打印log
            }
            if (result) {
                outFileInformation(file);
                if (file.renameTo(new File("F:/修改.txt"))) {
                    System.out.println("修改名称成功");
                    outFileInformation(file);
                } else {
                    System.out.println("修改名称失败");
                }
            }
        } else {
            outFileInformation(file);
            if (file.delete()) {
                System.out.println("删除OK");
            } else {
                System.out.println("删除失败");
            }
        }
    }

    /**
     * 输出文件的信息
     *
     * @param file 文件
     */
    private static void outFileInformation(File file) {
        if (file == null) {
            return;
        }
        System.out.println("---输出开始---");
        System.out.println("getName()         " + file.getName());
        System.out.println("toString()        " + file.toString());
        System.out.println("getPath()         " + file.getPath());
        System.out.println("getParent()       " + file.getParent());
        System.out.println("getAbsoluteFile() " + file.getAbsoluteFile());
        System.out.println("getAbsolutePath() " + file.getAbsolutePath());
        System.out.println("getTotalSpace()   " + file.getTotalSpace());
        System.out.println("isDirectory()     " + file.isDirectory());
        System.out.println("isHidden()        " + file.isHidden());
        System.out.println("isFile()          " + file.isFile());
        System.out.println("list()            " + Arrays.toString(file.list()));
        System.out.println("---输出结束---");
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值