Java IO File类

File.exists() File是否存在

File.isDirectory() File是否是目录

File.isFile() File是否是文件

Filef.lastModified() 返回时间,需要被Date接收

Filef.length() 返回文件大小

Filef.getName() 返回文件名

File.getAbsolutePath() 返回绝对路径(字符串)

Filef.getPath() 返回相对路径(字符串)

File.getParent() 返回父路径(字符串)

剩下的懒得写直接复制代码

代码展示

public class _3_1_File类的使用 {
    public static void main(String[] args) throws IOException {
        //等价
        //File file = new File("d:/a.txt"); --默认使用这个
        //File file = new File("d:\\a.txt");
        //不打目录的话是直接在该项目文件中打开(并没有创建)
        File f = new File("a.txt");
        //打印该项目的目录
        System.out.println(System.getProperty("user.dir"));
        //将f创建出来
        f.createNewFile();

        System.out.println("file是否存在"+f.exists());

        System.out.println("file是否是目录"+f.isDirectory());

        System.out.println("file是否是文件"+f.isFile());

        System.out.println("file最后修改的时间"+new Date(f.lastModified()));

        System.out.println("file的大小"+f.length());                          //是字节数 返回类型是long

        System.out.println("file的文件名"+f.getName());

        System.out.println("file的绝对路径"+f.getAbsolutePath());

        System.out.println("file的相对路径"+f.getPath());                        //注意如果new file是绝对路径的话,就没有办法使用相对路径

        System.out.println("file的父路径"+f.getParent());                       //给予相对路径时 输出的是/分隔符前的地址,如果没有/分隔符,就返回null

        // System.out.println("file的父对象"+f.getParentFile().getName());          //获得父对象,前提是父路径存在

        File f2 = new File("大陆/1.txt");
        boolean flag  = f2.mkdir() ;                        //目录结构中有一个不存在,则不会创建整个目录(只能创建文件夹)
        System.out.println(flag);
        flag= f2.mkdirs();                               //无论目录结构存不存在,都会创建整个目录树(只能创建文件夹)
        System.out.println(flag);

    }

}
public class _3_2_File类的使用 {
    public static void main(String[] args) throws IOException {
        System.out.println(File.separatorChar);//文件分隔符


        /*
         * 存在盘符:   绝对路径
         * 不存在盘符:  相对路径
         */
        String path = "C:/Users/彭俊清/Desktop/Java笔记/game/a.txt";
        File src = new File(path);
        System.out.println("长度:"+src.length());//文件大小
        //文件不存在返回的也是 0

        path = "C:/Users/彭俊清/Desktop/Java笔记/game/io.txt";

        src = new File(path);

        boolean flag = src.createNewFile();                //创建文件,不存在才创建并返回true,存在返回false
        //同时他不能创建文件夹
        System.out.println(flag);

        flag = src.delete();
        System.out.println(flag);                    //删除已存在的文件

        //con com3 等操作系统的设备名,不能正确创建
        src = new File("con");
        System.out.println(src.createNewFile());

    }
}
/**
 *  mkdir() :确保上级目录存在,不存在创建失败
 *  mkdirs():上级目录可以不存在,不存在则一同创建
 *
 *  list() :列出下级名称
 *  listFiles():列出下级File对象
 *
 */
public class _3_3_File类的使用 {
    private static long LEN = 0;                                    //统计文件大小
    public static void main(String[] args) throws IOException {
        File dirFile = new File("dir/text");

        System.out.println(dirFile.mkdir());      //在第一次创建会失败

        System.out.println(dirFile.mkdirs());     //没有的情况下一定能创建成功



        dirFile = new File("C:\\Users\\彭俊清\\Desktop\\Java笔记\\game");
        //获得下级名称
        String[] nameStrings = dirFile.list();
        for(String i:nameStrings) System.out.println(i);

        System.out.printf("\n\n");
        //获得下级对象
        File[] nameFiles = dirFile.listFiles();
        for(File i:nameFiles) System.out.println(i.getName());

        System.out.printf("\n\n");
        //获得磁盘
        File[] rootFiles = File.listRoots();
        for(File i:rootFiles) System.out.println(i.getAbsolutePath());

        System.out.printf("\n\n");

        print(dirFile,0);
        System.out.println("文件夹大小:"+LEN + "字节");
    }
    public static void print(File nameFile,int n) {                         //打印目录内所有文件
        if(nameFile == null|| nameFile.isFile()) {
            LEN += nameFile.length();
            return;
        }
        File[] nameFiles = nameFile.listFiles();
        for(File i:nameFiles) {
            for(int t = 0 ; t < n ;t++) System.out.printf("-");
            System.out.println(i.getName());
            print(i,n+1);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值