File构造方法,成员方法,判断功能,基本获取功能,高级获取功能

package com.shujia.day16.ketang;

import java.io.File;

/*
    File: 是所有文件或者文件夹的路径抽象表现形式,对文件进行操作每次都需要创建文件的对象

    构造方法:
        public File(String pathname)             通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
        public File(String parent,String child)  从父路径名字符串和子路径名字符串创建新的 File实例。
        public File(File parent,String child)    从父抽象路径名和子路径名字符串创建新的 File实例。

 */
public class FileDemo1 {
    public static void main(String[] args) {
        // 将未来要操作的路径封装成File对象
        /*
            路径:
                绝对路径(完整路径):指的是带有盘符的路径【在windows】
                    举例:D:\projects\IDEAProjects\bigdata31-java\src\com\shujia\day16\data\a.txt
                相对路径:相对于该项目而言,将该项目作为开始
                    举例:src/com/shujia/day16/data/a.txt

         */
        //public File(String pathname)
        File file = new File("D:\\projects\\IDEAProjects\\bigdata31-java\\src\\com\\shujia\\day16\\data\\a.txt");
        System.out.println(file);
        File file2 = new File("src/com/shujia/day16/data/a.txt");
        System.out.println(file2);

        //public File(String parent,String child)
        File file3 = new File("D:\\projects\\IDEAProjects\\bigdata31-java\\src\\com\\shujia\\day16\\data","a.txt");
        System.out.println(file3);

        //public File(File parent,String child)
        File file4 = new File(new File("D:\\projects\\IDEAProjects\\bigdata31-java\\src\\com\\shujia\\day16\\data"),"a.txt");
        System.out.println(file4);



    }
}
package com.shujia.day16.ketang;

import java.io.File;

/*
    File类中的成员方法:
        创建功能
            public boolean createNewFile()      创建一个文件 若文件已经存在,返回false,否则创建文件返回true
            public boolean mkdir()              创建单级目录
            public boolean mkdirs()             创建多级目录
        删除功能
            public boolean delete()             既可以删除某一个文件也可以删除单级文件夹
        重命名功能
            public boolean renameTo(File dest)  对文件或者文件夹重命名

 */
public class FileDemo2 {
    public static void main(String[] args) throws Exception{
        //D:\bigdata31\day16\shujia.txt
        File file = new File("D:\\bigdata31\\day16\\shujia.txt");

        //public boolean createNewFile() 创建一个文件 若文件已经存在,返回false,否则创建文件返回true
        System.out.println(file.createNewFile());

        //public boolean mkdir() 创建单级目录
        File file1 = new File("D:\\bigdata31\\day16\\aaa\\bbb\\ccc");
//        System.out.println(file1.mkdir());
//        System.out.println(file1.createNewFile());
//        System.out.println(file1.mkdir());

        //public boolean mkdirs() 创建多级目录
        System.out.println(file1.mkdirs());

        // public boolean delete() 既可以删除某一个文件也可以删除单级文件夹
        File file2 = new File("D:\\bigdata31\\day16\\bbb");
        System.out.println(file2.delete());

        File file3 = new File("D:\\bigdata31\\day16\\aaa");
        System.out.println(file3.delete());

        //public boolean renameTo(File dest) 对文件或者文件夹重命名
        File file4 = new File("D:\\bigdata31\\day16\\魏一民.txt");
        System.out.println(file.renameTo(file4));

    }
}
package com.shujia.day16.ketang;

import java.io.File;

/*
    判断功能
        public boolean isDirectory()  是否是文件夹
        public boolean isFile()       是否是文件
        public boolean exists()       是否存在
        public boolean canRead()      是否可读
        public boolean canWrite()     是否可写
        public boolean isHidden()     是否被隐藏

 */
public class FileDemo3 {
    public static void main(String[] args) {
        File file4 = new File("D:\\bigdata31\\day16\\魏一民.txt");

        //public boolean isDirectory() 是否是文件夹
        System.out.println(file4.isDirectory());

        //public boolean isFile() 是否是文件
        System.out.println(file4.isFile());

        //public boolean exists() 是否存在
        System.out.println(file4.exists());

        //public boolean canRead() 是否可读
        System.out.println(file4.canRead());

        //public boolean canWrite() 是否可写
        System.out.println(file4.canWrite());

        //public boolean isHidden() 是否被隐藏
        System.out.println(file4.isHidden());
    }
}
package com.shujia.day16.ketang;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
    基本获取功能
        public String getAbsolutePath() 获取完整路径
        public String getPath()         获取相对路径
        public String getName()         获取文件或者文件夹的名字
        public long length()            获取文件内容字节数
        public long lastModified()      最近一次修改时间 获取的是毫秒级别的时间戳

 */
public class FileDemo4 {
    public static void main(String[] args) {
        File file = new File("src/com/shujia/day16/data/a.txt");

        System.out.println(file.getAbsolutePath()); // 获取完整路径

        System.out.println(file.getPath()); // 获取相对路径

        System.out.println(file.getName()); // 获取文件或者文件夹的名字

        System.out.println(file.length()); // 获取文件内容字节数

        File file1 = new File("D:\\bigdata31\\day16\\魏一民.txt");
        long l = file1.lastModified(); // 最近一次修改时间 获取的是毫秒级别的时间戳
        Date date = new Date(l);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日,  HH:mm:ss");
        String time = simpleDateFormat.format(date);
        System.out.println("上一次修改时间:"+time);

    }
}

高级获取功能

package com.shujia.day16.ketang;

import java.io.File;
import java.util.Arrays;

/*
    高级获取功能
        public String[] list()      列出当前目录下所有的文件及文件夹的名称,组成的数组
        public File[] listFiles()   列出当前目录下所有的文件及文件夹的File对象

 */
public class FileDemo5 {
    public static void main(String[] args) {
        File file = new File("src/com/shujia/day16");


        //public String[] list() 列出当前目录下所有的文件及文件夹的名称,组成的数组
        String[] names = file.list();
        System.out.println(Arrays.toString(names));

        System.out.println("--------------------------");
        //public File[] listFiles() 列出当前目录下所有的文件及文件夹的File对象组成一个数据,将来可以直接遍历文件对象
        File[] files = file.listFiles();

        // 断言,在十分确定的情况下可以使用,下面语句的意思是我确定文件不为空
//        assert files!=null;

//        for (File file1 : files) {
//            System.out.println(file1);
//        }
      //如果文件或文件夹不为空,遍历文件或文件夹的对象
        if(files!=null){
            for (File file1 : files) {
                System.out.println(file1);
            }
        }
    }
}
posted @ 2024-08-15 19:21  ていせい  阅读(22)  评论(0)    收藏  举报