Java中File类相关API的综合练习

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

不爱生姜不吃醋⭐️⭐️⭐️

声明:
🌻看完之后觉得不错的话麻烦动动小手点个赞赞吧👍
🌻如果本文有什么错误的话欢迎在评论区中指正哦💗
🌻与其明天开始,不如现在行动!💪
🌻大家的支持就是我最大的动力!冲啊!🌹🌹🌹


🌴前言

本文章是关于Java中File类相关API的综合练习


🌴一、创建文件

1.题目描述

在当前模块下创建aaa文件夹,在aaa下创建a.txt。

2.代码参考

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

public class Test {
    public static void main(String[] args) throws IOException {
        //aaa文件夹下创建a.txt
        File f = new File("Demo\\aaa"); //我的模块文件名是Demo,根据需要修改
        f.mkdirs();

        File src = new File(f, "a.txt");
        boolean b = src.createNewFile();
        if (b) {
            System.out.println("创建成功!");
        } else {
            System.out.println("创建失败!");
        }

    }
}

🌴二、单个文件夹查找文件

1. 题目描述

定义一个方法,查找文件夹中是否有avi文件(不考虑子文件夹)

2.代码参考

import java.io.File;

public class Test2 {
    public static void main(String[] args) {
        //定义方法,查找文件夹中是否有avi文件
        File file = new File("Demo");
        boolean b = getTxtFile(file);
        System.out.println(b);
    }
    public static boolean getAviFile(File file){
        File[] files = file.listFiles();
        for (File f : files) {
            if(f.isFile() && f.getName().endsWith(".avi")){
                return true;
            }
        }
        return false;
    }
}

🌴三.遍历磁盘查找文件

1.题目描述

查找电脑中所有的avi文件

2.代码参考

import java.io.File;

public class Test3 {
    public static void main(String[] args) {
        //定义方法,查找电脑中所有的avi文件
        findAviFile();
    }
    //遍历所有磁盘
    public static void findAviFile(){
        File[] files = File.listRoots();
        for (File src : files) {
            findAviFile(src);
        }
    }

    //在磁盘中查找文件
    public static void findAviFile(File src) {
        File[] files = src.listFiles();
        if (files != null) {
            for (File file : files) {
                //如果是文件,直接打印
                //如果是文件夹,递归继续查找
                if (file.isFile()) {
                    if (file.getName().endsWith(".avi")) {
                        System.out.println(file);
                    }
                } else {
                    findAviFile(file);
                }
            }
        }
    }
}

🌴四.删除文件夹

1.题目描述

删除一个多级文件夹

2.代码参考

import java.io.File;

public class Test4 {
    public static void main(String[] args) {
        //删除多级文件夹
        File src=new File("D:\\AAAJavaStudy\\Day19"); //这个文件夹中有多子文件夹和文件
        deleteFile(src);
    }
    public static void deleteFile(File src){
        File[] files = src.listFiles();
        if (files != null){
            for (File file : files) {
                if (file.isFile()){
                    file.delete();
                }else {
                    deleteFile(file);
                }
                src.delete();
            }
        }
    }
}

🌴五.统计文件夹大小

1.题目描述

统计一个文件夹的总大小

2.代码参考

import java.io.File;

public class Test5 {
    public static void main(String[] args) {
        File src = new File("D:\\AAAJavaStudy");
        System.out.println(getLen(src));
    }

    public static long getLen(File src) {
        long len = 0;
        File[] files = src.listFiles();
        if (files != null) {
            for (File file : files) {
                if (file.isFile()) {
                    len += file.length();
                } else {
                    len += getLen(file);
                }
            }
        }
        return len;
    }
}

🌴六.统计文件数量

1.题目描述

统计一个文件夹中每种文件个数并打印

2.代码参考

import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Test6 {
    public static void main(String[] args) {
        File file=new File("D:\\AAAJavaStudy");
        System.out.println(getCount(file));

    }

    public static HashMap<String, Integer> getCount(File src) {
        HashMap<String, Integer> hm = new HashMap<>();
        File[] files = src.listFiles();

        for (File file : files) {
            //判断是文件还是文件夹
            if(file.isFile()){
                String[] arr = file.getName().split("\\.");
                //判断:添加有后缀名的文件
                if(arr.length>=2){
                    String endName = arr[arr.length - 1];
                    //添加
                    if (hm.containsKey(endName)){
                        Integer count = hm.get(endName);
                        count++;
                        hm.put(endName,count);
                    }else {
                        hm.put(endName,1);
                    }
                }
            }else {
                HashMap<String, Integer> sonMap = getCount(file);
                Set<Map.Entry<String, Integer>> entries = sonMap.entrySet();
                for (Map.Entry<String, Integer> entry : entries) {
                    String key = entry.getKey();
                    Integer value = entry.getValue();
                    if(hm.containsKey(key)){
                        Integer count = hm.get(key);
                        count+=value;
                        hm.put(key,count);
                    }else {
                        hm.put(key,value);
                    }
                }

            }
        }
        return hm;
    }
}

🌴总结

文章中代码的编写使用的是Java中的File和HashMap集合的知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!文章来源地址https://www.toymoban.com/news/detail-666536.html


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

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

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

相关文章

  • java基础入门-12-【API(算法,lambda表达式,练习)】

    ​ 数据结构是数据存储的方式,算法是数据计算的方式。 ​ 也叫做顺序查找 ​ 说明:顺序查找适合于存储结构为数组或者链表。 基本思想 基本思想 :顺序查找也称为线形查找,属于无序查找算法。从数据结构线的一端开始,顺序扫描,依次将遍历到的结点与要查找的值

    2024年02月05日
    浏览(49)
  • 【Java练习题汇总】《第一行代码JAVA》综合测试三,汇总Java练习题

    线程的启动方法是( )。 A. run() B. start() C. begin() D. accept() Thread 类提供表示线程优先级的静态常量,代表普通优先级的静态常量是( )。 A. MAX_PRIORITY B. MIN_PRIORITY C. NORMAL_PRIORITY D. NORM_PRIORITY 设置线程优先级的方法是( )。 A. setPriority() B. getPriority() C. getName() D. setName() 下面 ( )方法是

    2024年02月14日
    浏览(35)
  • Java学习笔记---多态综合练习

    运行结果:

    2024年02月09日
    浏览(24)
  • Educoder/头歌JAVA——JAVA面向对象:封装、继承和多态的综合练习

    目录 第1关:封装、继承和多态进阶(一) 相关知识 面向对象思想 封装 继承 组合和继承 构造函数 super()和this() 编程要求 第2关:封装、继承和多态进阶(二) 相关知识 重写和重载 abstract(抽象类)和interface(接口) final static static的作用 多态 编程要求 第

    2024年02月04日
    浏览(45)
  • 【从零开始学习JAVA | 第三十五篇】IO流综合练习

    目录 前言: 1.拷贝文件(含子文件) 思路: 2.文件加密 思路: 3.修改文件中的数据: 思路: 总结:         在前面我们为大家介绍了FILE类和IO类。这篇文章我们来练习一些综合使用的例子以此来巩固我们自己的所学知识。 建立一个读文件的流来读取文件,一个写文件的流

    2024年02月14日
    浏览(30)
  • HTML案例-2.标签综合练习

    目录 效果 知识点 1.图像标签 2.链接标签 3.锚点定位 4.base标签 源码 页面1 页面2 属性 属性值 描述 src URL 图像的路径 alt 文本

    2024年03月16日
    浏览(44)
  • Pyspark综合案例(pyspark安装和java运行环境配置)

    一、RDD对象 PySpark支持多种数据的输入,在输入完成后,都会得到一个:RDD类的对象 RDD全称为:弹性分布式数据集(Resilient Distributed Datasets) PySpark针对数据的处理,都是以RDD对象作为载体,即: 数据存储在RDD内 各类数据的计算方法,也都是RDD的成员方法 RDD的数据计算方法

    2024年04月24日
    浏览(25)
  • 【Java虚拟机】JVM调优和分析案例综合实战

    1.什么是JVM性能优化 jvm性能优化涉及到两个很重要的概念:吞吐量和响应时间。jvm调优主要是针对他们进行调整优化,达到一个理想的目标,根据业务确定目标是吞吐量优先还是响应时间优先。 吞吐量:用户代码执行时间/(用户代码执行时间+GC执行时间)。 响应时间:整个接

    2024年02月03日
    浏览(30)
  • 进阶JAVA篇-了解 File 文件的常用API

    🔥博客主页:  小扳_-CSDN博客 ❤感谢大家点赞👍收藏⭐评论✍ 目录         1.0 File 文件的说明         2.0 如何创建 File 类的对象         2.1 需要注意的事项         3.0 File 类的常用 API         3.1 如何创建文件或文件夹         3.2 如何查询文件和文件夹的信

    2024年02月06日
    浏览(28)
  • 五个与iOS基础开发相关的案例:

    iOS是由苹果公司开发的移动操作系统,专为iPhone、iPad和iPod touch等设备设计。iOS系统以其流畅的用户体验、丰富的功能和强大的安全性而著称,成为全球最受欢迎的移动操作系统之一。iOS基础开发则是构建在这些设备上的应用程序的过程,涉及多个方面,包括编程语言、开发

    2024年03月09日
    浏览(23)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包