你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

【JavaWeb】【Java基础I/O】 一文带你搞懂文件和JavaIO包下的File类~

2021/12/25 3:16:40

📢博客主页:🏀九九舅舅酒酒🏀
📢欢迎点赞 👍 收藏 ⭐留言 📝 欢迎讨论!👏
📢本文由 【九九舅舅酒酒】 原创,首发于 CSDN🙉🙉🙉
📢由于博主是在学小白一枚,难免会有错误,有任何问题欢迎评论区留言指出,感激不尽!✨
📖精品专栏(不定时更新)【JavaSE】 【MySQL】【LeetCode】【Web】【操作系统】

本文是JavaWeb系列文章第一篇~

目录

一、什么是文件

⭐1.1 站在课本角度

⭐1.2 站在日常实用角度

⭐1.3 理解文件

二、File文件操作类

⭐2.1 File类使用-准备

⭐2.2 构造方法 & 解释

⭐2.3 基本文件操作常用方法&说明

⭐2.4 目录操作常用方法&说明

⭐2.5 File类常用方法-文件属性操作

⭐2.6 File类常用方法-其他操作

👍2.6.1 扩展 列出desktop目录中的全部组成

👍2.6.2 递归列出给定目录的全部文件


一、什么是文件

1.1 站在课本角度

文件是相关记录或者放在一起的数据的集合 ( 懵逼 ...)
在数据库中,我们知道一条记录其实就是一行
在数据结构中也有记录的定义
此处 记录 这个专有名词的使用偏于官方,看懂就行,看不懂后续学习自会慢慢感悟理解的~

1.2 站在日常实用角度

你在 windows 操作中,经常在硬盘上创建的各种 .txt, .doc, .exe, .java, .lib, .mp3 等等,都可以称之为文件。
.txt,文本文档(也就是最简单的记事本)
.doc,wps的老伙计了,写论文什么的,此处多提一嘴,word的doc和docx都是属于二进制文件,也就是需要字节流处理的。
.exe是驱动程序,我们点击桌面的快捷方式打开并执行应用实际上就是执行了一个.exe
.java老熟人了,用记事本打开也能看懂,属于是字符流处理的

1.3 理解文件

文件简单的可以理解成,在外设硬盘上面保存数据的一种方式
文件一共可以由两部分构成:属性 ( 文件大小,文件名,文件类型等 )+ 内容 ( 就是文件里面放的是什
)
所以我们学 JavaIO ,学什么呢?就学对文件的属性和内容进行操作,而实际写入或者读取的过 程,我们称之为IO。
在系统学习过操作系统之后,你会有深刻的理解,因为操作系统的定义是 
操作系统是管理和控制计算机系统软、硬件资源,合理高效的优化组织计算机的工作流程并方便用户使用的一系列程序的集合
操作系统 的功能业务 主要包括
用户接口管理
存储器管理
设备管理
处理机管理
文件管理
别看文件管理放在最后,其实在操作系统中,万物皆文件,万物都可以当作文件来处理和管理!~~~所以好好学习本系列文章叭!

二、File文件操作类

java.io 包之中,用 File 类来对文件进行操作 ( 创建、删除、取得信息等 )

2.1 File类使用-准备

可以先看看官网文档中关于 File 类的说明 https://docs.oracle.com/javase/8/docs/api/ ,重点关注
构造函数 ( 此处要介绍文档查看方式 )

2.2 构造方法 & 解释

java.io.File 类是一个普通的类 , 如果要实例化对象 , 则常用到两个构造方法
public File(String pathname)创建指定路径文件对象
public File(String parent, String child)同上,但可指明父路径和子路径

2.3 基本文件操作常用方法&说明

方法说明
public boolean exists()
测试指定路径中文件或者目录是否存在
public boolean isDirectory()判定一个文件是目录
public boolean isFile()判定是否是文件
public boolean delete()删除文件
public boolean createNewFile() throws IOException
创建一个新文件
这里注意!~ 创建新文件会抛出IO异常嗷!

2.4 目录操作常用方法&说明

方法解释
public boolean mkdir()创建一个空目录
public boolean mkdirs()创建目录(无论有多少级父目录,都会创建)
public String getParent()取得父路径
public File getParentFile()取得父File对象

2.5 File类常用方法-文件属性操作

方法解释
public long length()取得文件大小(字节)
public long lastModified()
最后一次修改日期

2.6 File类常用方法-其他操作

方法

解释

public File[] listFiles()列出一个目录指定的全部组成

👍2.6.1 扩展 列出desktop目录中的全部组成

使用上述方法

public File[] listFiles()列出一个目录指定的全部组成

👍2.6.2 递归列出给定目录的全部文件

    public static void listAllFiles(File file) {
        //这个方法是用来递归打印出当前给出的这个对象内部所有的文件
        //File类实例化出来的对象 我们只用看他是目录还是文件,如果属性是文件,那我们继续向下递,一直到最底层是文件了,再归回来~
        if (file.isDirectory()) {
            File[] files = file.listFiles();

            if (files != null) {
                for (File tempFile : files) {
                    listAllFiles(tempFile);
                }
            }

        } else {
            System.out.println(file);
        }
    }