Java基础之File

这篇具有很好参考价值的文章主要介绍了Java基础之File。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、File的声明

声明的File不需要是存在的,我们声明的路径可以是存在的,也可以是不存在的。因为我们只是声明,并不一定会用。

方法名 说明
File(String pathname) 通过给定的字符串路径指明一个File文件(或者文件夹)
File(String parent,String child) 通过两个字符串拼接形成最终字符串路径,指明一个File文件(或者文件夹)
File(File parent,String child) 实际上也是通过两个字符串拼接形成最终字符串路径,指明一个File文件(或者文件夹)
public static void main(String[] args) {
        //通过给定的字符串路径指明一个File文件(或者文件夹)
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\aa.txt");

        //通过两个字符串拼接形成最终字符串路径,指明一个File文件(或者文件夹)
        File file1=new File("D:\\Code\\ideaCode\\FileTestDemo","aa.txt");

        String path1="D:\\Code\\ideaCode\\FileTestDemo";
        String path2="aa.txt";
        File file2=new File(path1,path2);

        String path3="D:\\Code\\ideaCode\\FileTestDemo";
        File file3=new File(path3,"aa.txt");

        String path4="aa.txt";
        File file4=new File("aa.txt",path4);

        //实际上也是通过两个字符串拼接形成最终字符串路径,指明一个File文件(或者文件夹)
        File file5=new File("D:\\Code\\ideaCode\\FileTestDemo");
        String path5="aa.txt";
        File file6=new File(file3,path5);
    }

二、File的创建

方法名 说明
boolean createNewFile() 创建一个文件
boolean mkdir() 创建一个文件夹
boolean mkdirs 创建一个多级文件夹

2.1 创建一个文件

我们在这里创建一个aa.txt文本文件,初始无aa.txt文件存在

Java基础之File


public static void main(String[] args) throws IOException {
        //声明一个文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\aa.txt");
        //创建文件(若文件已存在,则返回false,否则返回true)
        boolean newFile = file.createNewFile();
        System.out.println(newFile);
    }

运行结果:
Java基础之File


2.2 创建一个文件夹

我们在这里创建一个名为bb的单级文件夹,初始无bb单级文件夹存在

Java基础之File


public static void main(String[] args) throws IOException {
        //声明一个单级文件夹
        File file1=new File("D:\\Code\\ideaCode\\FileTestDemo\\bb");
        //创建单级文件夹(若文件夹已存在,则返回false,否则返回true)
        boolean mkdir = file1.mkdir();
        System.out.println(mkdir);
    }

运行结果:

Java基础之File


2.3 创建一个多级文件夹

我们在这里创建一个名为cc的多级文件夹,初始无cc多级文件夹存在

Java基础之File


public static void main(String[] args) throws IOException {
        //声明一个多级文件夹
        File file2=new File("D:\\Code\\ideaCode\\FileTestDemo\\cc\\aa\\bb\\dd\\ee");
        //创建多级文件夹
        boolean mkdirs = file2.mkdirs();
        System.out.println(mkdirs);
    }

运行结果:

Java基础之File


三、File的删除

调用delete()方法仅能删除文件和空文件夹,若一个文件夹中含有文件或者文件夹,则需要将文件夹中的文件和文件夹清空,使之成为空文件夹才能将之删除。

方法名 说明
boolean delete() 删除一个文件或者空文件夹

删除我们刚刚创建的bb空文件夹

Java基础之File


public static void main(String[] args) throws IOException {
        //声明bb文件夹
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\bb");
        //调用delete()方法删除bb空文件夹
        boolean delete = file.delete();
        System.out.println(delete);
    }

运行结果:
Java基础之File


删除我们刚刚创建的aa.txt文件

Java基础之File


public static void main(String[] args) throws IOException {
        //声明aa.txt文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\aa.txt");
        //调用delete()方法删除aa.txt文件
        boolean delete = file.delete();
        System.out.println(delete);
    }

运行结果:
Java基础之File


删除我们刚刚创建的cc多级文件夹(直接调用delete()方法无法删除cc多级文件夹,因为cc多级文件夹并不是空文件夹)

Java基础之File


public static void main(String[] args) throws IOException {
        //声明cc多级文件夹
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\cc");
        //调用delete()方法无法直接删除cc多级文件夹
        boolean delete = file.delete();
        System.out.println(delete);
    }

运行结果:
Java基础之File


四、File的获取与判断

方法名 说明
File[] listFiles() 获取一个文件夹孩子层所有文件和文件夹,并存入数组
boolean isFile() 判断一个File对象是否为文件
boolean isDirectory() 判断一个File对象是否为文件夹
boolean exists() 判断一个File对象是否存在
String getName() 获取当前File对象的全名(包括后缀名)

4.1 获取一个文件夹孩子层所有文件和文件夹,并存入数组

我们来遍历一个aa非空文件夹,aa非空文件夹孩子层所有文件及文件夹如下图所示:

Java基础之File


public static void main(String[] args) throws IOException {
        //声明aa非空文件夹
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\aa");

        //调用listFiles()方法获取aa文件夹孩子层所有文件和文件夹
        File[] files = file.listFiles();
        //使用forEach()语句遍历File数组
        for (File file1 : files) {
            System.out.println(file1);
        }
    }

运行结果:
Java基础之File


4.2 判断一个File对象是否为文件

我们先来判断aa.txt它是不是一个文件

Java基础之File


public static void main(String[] args) throws IOException {
        //声明aa.txt文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\aa.txt");

        //调用isFile()方法判断对象是否为文件
        boolean file1 = file.isFile();
        System.out.println(file1);
    }

运行结果:
Java基础之File


我们再来判断bb.txt它是不是一个文件(无意外,它不是一个文件)

Java基础之File


public static void main(String[] args) throws IOException {
        //声明bb.txt文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\bb.txt");

        //调用isFile()方法判断对象是否为文件
        boolean file1 = file.isFile();
        System.out.println(file1);
    }

运行结果:
Java基础之File


4.3 判断一个File对象是否为文件夹

我们来判断bb.txt它是不是一个文件夹。

Java基础之File


public static void main(String[] args) throws IOException {
        //声明bb.txt文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\bb.txt");

        //调用isDirectory()方法判断对象是否为文件夹
        boolean directory = file.isDirectory();
        System.out.println(directory);
    }

运行结果:
Java基础之File


4.4 判断一个File对象是否存在

exists()方法可以判断一个File对象是否存在(不论是文件还是文件夹均可判断),我们声明一个虚假的cc.txt文件,来判断它是否存在。结果为不存在。

Java基础之File


public static void main(String[] args) throws IOException {
        //声明cc.txt文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\cc.txt");

        //调用exists()方法判断File对象是否存在
        boolean exists = file.exists();
        System.out.println(exists);
    }

运行结果:
Java基础之File


4.5 获取当前File对象的全名(包括后缀名)

public static void main(String[] args) throws IOException {
        //声明cc.txt文件
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\cc.txt");

        //调用getName()方法获取当前File对象的全名(包括后缀名)
        String name = file.getName();
        System.out.println(name);
    }

运行结果:
Java基础之File


五、File案列练习(根据文件类型分类)

获取一个非空文件夹孩子层所有文件及文件夹,并按照后缀名来对它们进行划分,并统计各个类型文件数量(因此我们无需查看文件夹,只需查看孩子层文件即可)

Java基础之File


public static void main(String[] args) throws IOException {
        //声明aa非空文件夹
        File file=new File("D:\\Code\\ideaCode\\FileTestDemo\\aa");
        //创建Key值类型为String,Value值类型为Integer的Map集合,其中Key表示文件类型,Value表示此文件类型的数量
        Map<String,Integer> map=new HashMap<>();
        //调用listFiles()方法读取aa非空文件夹孩子层所有文件及文件夹
        File[] files = file.listFiles();
        //遍历File数组
        for (File file1 : files) {
            //若此对象为文件,对它文件类型进行划分
            if(file1.isFile()){
                //获取此文件全名(包括后缀名)
                String nameAll=file1.getName();
                //将文件名按"."进行分割,存入String数组中
                String[] nameArr=nameAll.split("\\.");
                //获取文件后缀名(文件的后缀名一定为最末尾元素)
                String nameLast=nameArr[nameArr.length-1];
                //如果集合中存在此文件类型
                if(map.containsKey(nameLast)){
                    //通过文件类型获取此文件类型的数量
                    int count=map.get(nameLast);
                    //数量加1
                    count++;
                    //更新文件类型的数量
                    map.put(nameLast,count);
                }else{
                    //若集合中不存在此文件类型,则将此文件类型存入集合中,数量为1
                    map.put(nameLast,1);
                }
            }
        }

        //普通方法输出集合
        System.out.println(map);
    }

运行结果:
Java基础之File文章来源地址https://www.toymoban.com/news/detail-417454.html


到了这里,关于Java基础之File的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaSE】Java基础语法(三十三):File 一文详解

    File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也 可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的 File类的构造方法

    2024年02月06日
    浏览(63)
  • java基础入门-18-【IO(异常&File&综合案例)】

    异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不通过

    2024年02月07日
    浏览(46)
  • 【JavaSE】Java基础语法(三十六):File & IO流

    java.io.File类是文件和目录路径名的抽象表示形式,主要用于文件和目录的创建、查找和删除等操作。 File:它是文件和目录路径名的抽象表示 文件和目录可以通过File封装成对象 File封装的对象仅仅是一个路径名。它可以是存在的,也可以是不存在的。 | 方法名 | 说明 | | —

    2024年02月07日
    浏览(43)
  • JAVA基础学习笔记-day15-File类与IO流

    博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的 尚硅谷宋红康2023大数据教程 老骥伏枥,志在千里 --曹操《龟虽寿》 1.1 概述 File类及本章下的各种流,都定义在 java.io 包下。 一个File对象代表硬盘或网络中可能存在的一个文件或者文件目

    2024年01月21日
    浏览(39)
  • 智能制造现状及实践路径,我们专门调研了300+企业

    随着#智能制造热度的增高,越来越多企业跃跃欲试,积极布局智能制造。 一方面,多方数据、报告均显示智能制造推进进程在不断加快; 另一方面,随着智能制造相关技术的快速发展、需求日益增强,系统集成度不高、标准体系仍需完善等问题依然存在。 在此背景下,鼎捷

    2024年02月01日
    浏览(37)
  • vue3 vite配置@根路径---解决:找不到模块“./xx/xxx.vue”或其相应的类型声明

    如果在ts中使用可能会报错: 解决方案: npm install --save-dev @types/node 配置根路径后,引入文件可能会报红: vue3+ts报错:找不到模块“@/xxx”或其相应的类型声明。 ,或者是引入.vue文件的时候报红: vue3+ts报错:找不到模块“./views/login/index.vue”或其相应的类型声明。 出现这

    2024年02月16日
    浏览(43)
  • Tomcat启动失败,启动子级时出错 IllegalStateException,因为我们有相同的WebServlet注解配置路径,有两个相同的上下文路径,所以会报错。

      这是一个关于Tomcat启动Web项目时出现异常的报错信息。报错信息中提到了一个IllegalStateException异常,这个异常通常是由于Tomcat在启动子级时出现了错误导致的。具体来说,这个异常可能是由于以下原因引起的: 应用程序的上下文路径已经存在于Tomcat中,但是Tomcat正在尝试将

    2024年04月12日
    浏览(81)
  • 解决conda创建环境,环境路径并非是conda安装目录下的envs或我们设置的目录

    有些同学可能遇到使用conda创建环境,环境的路径总是在C盘,但是明明conda安装在D盘,而且配置文件的默认路径也是D盘。其实原因很简单,因为设置的默认路径没有足够的权限。 1.怎么查看默认的目录呢 第一种方法: 找到 .condarc 文件,一般在 C:Usersadministrator.condarc ,以文

    2024年02月11日
    浏览(46)
  • icloud照片要是关闭有什么影响?

    关闭iCloud照片将对您的设备和照片库产生以下影响: 1. 照片同步停止:关闭iCloud照片后,您的设备将不再自动同步照片到iCloud。这意味着您拍摄的新照片和录制的新视频将不会自动上传到iCloud照片库。                                     2. 存储空间释放:关闭iCloud照片

    2024年01月17日
    浏览(44)
  • VScode中python的相对路径与绝对路径 FileNotFoundError: [Errno 2] No such file or directory

    VScode中,python里的相对路径是相对于当前工作目录来定位的,而当前的工作目录在VScode中下方的终端窗口会有提示: 说明此时的工作目录并非当前python文件所在的目录,而是C:Usersxxxxx(你的用户名)。因此,使用VScode编辑和运行python文件时,如果你给出的相对路径是相对于当

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包