微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

File类

目录

File类

概念:

构造方法:

常用方法:

代码演示:

绝对路径和相对路径:

代码演示:

其他的各种方法:

代码演示:

注意:

列举方法:

代码举例:


File类

概念:

File类就是描述文件文件夹的,只要我们在Java中要操作文件文件夹,就找File类。

该类主要用于文件和目录的创建、文件的查找和文件删除等。

构造方法

  • public File(String pathname)

    表示根据文件文件夹的路径名创建一个File对象。

    使用File类的构造函数可以把指定的字符串封装成File类的对象,但是这个字符串表示的路径或者文件到底是否存在,File类是不进行判断的。

    注意:File类表示文件目录路径名的抽象表示形式。那么该路径代表的文件文件夹不一定存在。

  • public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。

  • public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。

最简单的,一步到位

public static void main(String[] args) throws IOException {
    //新建文件
        File file = new File("C:\\Users\\luoxuan\\Desktop\\a.txt");
        boolean b = file.createNewFile();
        System.out.println(b);//true
        boolean delete = file.delete();
        System.out.println(delete);//true
}

常用方法

  • public String getAbsolutePath()获取的当前调用这个方法的File对象的全路径(绝对路径或者真实路径) 返回的是路径的字符串;

  • public String getPath()获取到当前File类的对象中封装的内容

  • public String getName()获取的是File类的对象中封装的文件或目录的最后一级名称

  • public long length()获取文件大小long size = file.length();

代码演示:

public class FileTest {
    public static void main(String[] args) throws IOException {
        //创建file类对象
        File file = new File("D:\\123.txt");//不能文件夹和文件一起创建,
        boolean file1 = file.createNewFile();
        System.out.println(file1);//true
        //得到file对象的全路径
        File absoluteFile = file.getAbsoluteFile();
        System.out.println(absoluteFile);//D:\123.txt
        //得到file对象的文件名
        String name = file.getName();
        System.out.println(name);//123.txt
        //获取文件的大小
        long length = file.length();
        System.out.println(length);//0
    }
}

绝对路径和相对路径:

  • 绝对路径:从盘符开始的路径,这是一个完整的路径(如:D:\bbb.java)。

  • 相对路径:相对于项目目录的路径(如:bbb.java),这是一个便捷的路径,开发中经常使用。

代码演示:

public class Lujing {
    public static void main(String[] args) {
        //D盘下的文件
        File file = new File("D:\\xiaocao.txt");
        System.out.println(file.getAbsoluteFile());//D:\xiaocao.txt
        //项目下的文件,路径会根据项目自动生成
        File file1 = new File("xiaocao.txt");
        System.out.println(file1.getAbsoluteFile());//D:\javase\wenjiang\javase\xiaocao.txt
    }
}
​

其他的各种方法

  • public boolean exists() :是否存在 如果File类对象中的文件或者文件夹在硬盘上存在 返回 true  ,否则返回false;

  • public boolean isDirectory() :是否是文件夹 如果是文件夹 返回 true  否则返回false;

  • public boolean isFile() :是否是文件 如果是文件 返回 true , 否则返回false;

public boolean createNewFile() :当且仅当具有该名称文件尚不存在时,创建一个新的空文件

A:true :表示创建文件成功;  false :表示创建文件失败,失败原因基本是因为当前的目录有了相同的文件

B:如果指定的路径不存在,这时就会抛异常 Java.io.IOException:系统找不到指定的路径。这时是不会去创建文件

  • public boolean delete()删除由此File表示的文件或目录。

  • public boolean mkdir() :创建由此File表示的目录。

  • public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。

代码演示:

public class Zhonghe {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\hhh.txt");
        //判断该文件是否在D盘下存在
        System.out.println(file.exists());//false//因为不存在该文件,所以返回false,第二次就是true
        //判断是否是文件夹
        System.out.println(file.isDirectory());//false
        //判断是否是文件
        System.out.println(file.isFile());//true
​
        //创建目录
        File file1 = new File("D:\\File1");
        //判断该文件夹是否存在
        System.out.println(file1.exists());//false
        boolean mkdir = file1.mkdir();
        System.out.println("file1创建的目录是否成功"+mkdir);//file1创建的目录是否成功true
        //创建多级目录
        File file2 = new File("D:\\File2\\java");
        System.out.println(file2.mkdirs());//true
​
        //删除目录
        System.out.println(file2.delete());//true 把java目录删除了,File2还在,所以该删除删除一级目录
        System.out.println(file2.delete());
        System.out.println(file1.delete());//true File1没有了,他只删除最里面的那个目录
​
    }
}

注意:

delete方法,如果此File表示目录,则目录必须为空才能删除

列举方法

  • public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。

  • public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。

代码举例:

 //该File目录中的所有子文件或目录
        System.out.println("========");
        File file3 = new File("D:\\File2\\f");
        boolean mkdirs = file3.mkdirs();
        String[] list = file3.list();
        for (String s : list) {
            System.out.println(s);//nnnn.txt
        }
​
        //该File目录中的所有的子文件或目录
        System.out.println("=====");
        File[] files = file3.listFiles();
        for (File file4 : files) {
            System.out.println(file4);//D:\File2\f\nnnn.txt
        }

原文地址:https://www.jb51.cc/wenti/3287427.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐