java se回顾——File类

一,概述:
java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作

File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法

我们可以使用File类的方法:

  1. 创建一个文件/文件夹
  2. 删除余文件/文件夹
  3. 获取文件/文件夹
  4. 判断文件/文件夹是否存在
  5. 对文件夹进行遍历
  6. 获取文件的大小

重点:记住这三个单词
file:文件
directory:文件夹/目录
path:路径

 

二,File中的基本概述

1,分隔符:

  • 文件分隔符:在windows下是反斜杠\    Linux系统下是正斜杆/
  • 路径分隔符:在windows下是分号;   Linux系统下是冒号:

2,路径:

  • 绝对路径:以盘符开始,如:C:\\Users\\建江\\Desktop\\常用工具\\aaa\\test.txt
  • 相对路径:相对于绝对路径根目录下的路径,如:test.txt
  • 注意:路径不区分大小写,\\其中一条是转义字符,在java字符串中相当于 \

 

3,构造方法:

File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新File 实例。
参数:

  • String pathname :字符串的路径名称
  • 路径可以是以文件结尾,也可以是以文件夹结尾
  • 路径可以是相对路径,也可以是绝对路径
  • 路径可以是存在,也可以是不存在
  • 创建File对象,只是把字符串路径封装为File对象,不考虑路径的真假情况
     

File(String parent, String child) 根据parent 路径名字符串和child 路径名字符串创建一个新File 实例。

  • 参数:把路径分成了两部分
  • String parent:父路径
  • String child:子路径
  • 好处:父路径和子路径,可以单独书写,使用起来非常灵活;父路径和子路径都可以变化

 

File(File parent, string child) 根据parent 抽象路径名和child 路径名字符串创建一一个新File 实例。

  • 参数:把路径分成了两部分
  • File parent:父路径
  • String child: 子路径
  • 好处:
  • 父路径和子路径,可以单独书写,使用起来非常灵活;父路径和子路径都可以变化
  • 父路径是File类型,可以使用File的方法对路径进行一些操作 ,再使用路径创建对象
     
package com.example.demo2;

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
//        构造方法一
        File file=new File("C:\\Users\\建江\\Desktop\\JavaProject\\idea\\springBoot\\demo2\\a.txt");
        System.out.println(file);
        File file1=new File("C:\\Users\\建江\\Desktop\\JavaProject\\idea\\springBoot\\demo2");
        System.out.println(file1);
        File file2=new File("a.txt");
        System.out.println(file2);
//        构造方法二
        File file3=new File("C:\\Users\\建江\\Desktop\\","a.txt");
        System.out.println(file3);
//        构造方法三
        File parent =new File("C:\\");
        File file4=new File(parent,"a.txt");

    }
}

 

三,file类中的常用方法

1,File类获取功能的方法

  •  public String getAbsolutePath() :返回此File的绝对路径名字符串。
  •  public String getPath() :将此File转换为路径名字符串。
  •  public String getName() :返回由此File表示的文件或目录的名称。
  •  public long length() :返回由此File表示的文件的长度。
package com.example.demo2;

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
//        构造方法一
        File file=new File("C:\\Users\\建江\\Desktop\\JavaProject\\idea\\springBoot\\demo2\\a.txt");
        System.out.println(file.getAbsoluteFile());
        System.out.println(file.getAbsolutePath());
        System.out.println(file.toString());
        System.out.println(file.getPath());

        System.out.println("------------------------");
        File file2=new File("a.txt");
        System.out.println(file2.getName());
        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.toString());
        System.out.println(file.getPath());

        File file1=new File("C:\\Users\\建江\\Desktop\\bishe\\毕业设计图片\\牛排\\1.jpg");
        System.out.println(file1.length());;//注意:文件夹是没有大小的


    }
}

 

2,File判断功能的方法

  • public boolean exists() :此File表示的文件或目录是否实际存在。
  • public boolean isDirectory() :此File表示的是否为目录。
  • public boolean isFile() :此File表示的是否为文件。
import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
//        构造方法一
        File file=new File("C:\\Users\\建江\\Desktop\\JavaProject\\idea\\springBoot\\demo2");
        System.out.println(file.exists());
        System.out.println(file.isDirectory());


        System.out.println("------------------------");
        File file2=new File("a.txt");
        System.out.println(file2.exists());
        System.out.println(file2.isDirectory());
        System.out.println(file2.isFile());



        File file1=new File("C:\\Users\\建江\\Desktop\\bishe\\毕业设计图片\\牛排\\1.jpg");
        System.out.println(file1.exists());;//注意:文件夹是没有大小的
        System.out.println(file1.isDirectory());
        System.out.println(file1.isFile());



    }
}

 

3,File类创建删除功能的方法

  • public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一 个新的空文件。
  • public boolean delete() :删除由此File表示的文件或目录。
  • public boolean mkdir() :创建由此File表示的目录。
  • public boolean mkdirs() : 创建由此File表示的目录,包括任何必需但不存在的父目录。
package com.example.demo2;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    public static void main(String[] args) {
        show2();
    }

    /**
     * 创建文件
     */
    public static void show(){
        File file=new File("C:\\Users\\建江\\Desktop\\1.txt");
        File file1=new File("C:\\Users\\建江\\Desktop\\aaa");
        File file2=new File("C:\\Users\\建江\\Desktop\\aaa\\bb\\c");
        try {
            boolean b=file.createNewFile();//如果file 的路径不存在会抛出IO异常
            boolean b1=file1.mkdir();//创建文件夹
            boolean b2=file2.mkdirs();//创建多级文件夹,如果路径不存在不会抛出异常
            System.out.println("文件创建成功了吗:"+b);
            System.out.println("文件夹创建成功了吗:"+b1);
            System.out.println("多级文件创建成功了吗:"+b2);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 删除文件
     */
    public static void show1(){
        File file=new File("C:\\Users\\建江\\Desktop\\1.txt");
        File file1=new File("C:\\Users\\建江\\Desktop\\aaa");
        File file2=new File("C:\\Users\\建江\\Desktop\\aaa\\bb\\c");
        boolean b=file.delete();//如果file 的路径不存在会抛出IO异常
        boolean b1=file1.delete();//创建文件夹
        boolean b2=file2.delete();//创建多级文件夹,如果路径不存在不会抛出异常
        System.out.println("文件删除成功了吗:"+b);//删除不会走垃圾站
        System.out.println("文件夹删除成功了吗:"+b1);//文件夹中有内容就不能删除
        System.out.println("多级文件删除成功了吗:"+b2);

    }
    /**
     * 遍历文件
     */
    public static void show2(){
        File file=new File("C:\\Users\\建江\\Desktop");
        String[] fileNames = file.list();
        File[] files = file.listFiles();
        for(String name:fileNames){
            System.out.println(name);
        }
        for(File file1:files){
            System.out.println(file1);
        }


    }
}

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值