深入理解计算机中文件的概念

什么是文件?

我们传统的文件印象是这样的:

 以下是百度百科的定义:

所谓“文件”,就是在我们的计算机中,以实现某种功能、或某个软件的部分功能为目的而定义的一个单位

文件:计算机中的文件可以是文档程序快捷方式设备。文件是由文件名图标组成,一种类型的文件具有相同的图标,文件名不能超过255个字符(包括空格)。

文件是指存储在外部介质上的数据的集合

在以上定义中,出现了几个重要的关键词:

  • 单位
  • 设备
  • 存储在外部介质上的数据的集合

从这几个关键词统一来说,我们可以理解为文件可以是指我们常见的

文本文件、图片文件、视频文件、硬盘、U盘、显示屏幕等等

存储在外部介质上的数据的集合 中的 “外部” 指的就是相对内存而言的外部,只要不是在内存中,那就在“外部”

显示屏也能说是文件?是的,我认为只要是能存储或展示信息的“广义设备”都能称之为文件

显示屏之所以能呈现出丰富多彩的画面,是因为它包含成千上万个像素点,我们可以认为显示屏也是“具备存储功能的”,只要电源没有断,它就能持续显示当前所显示的内容,其实这也是“存储并展示信息”的体现。当我们编程将在内存中运行的结果打印到输出控制台上,其实也就是将【内存文件】中的运行结果输出到了【显示屏文件】

如此描述,我们应该就对文件这个概念有了更为深入的理解

再进一步举例,我们的电脑在关闭电源的时候,运行的程序是存储在【硬盘文件】中的,当我们开启电脑,【硬盘文件】中的程序就被读取到【内存文件】中进行运行,而运行的结果实时呈现在【显示屏文件上】

我们看到,数据(包括程序)是在计算机系统中的文件之间“来回穿梭”的 ,在这个过程中,数据会在各种“文件”之间转移、处理加工、呈现等


文本文件编程快速入门

 创建文件夹和文件

/**
 * 创建文件夹和文件
 */
public static void main(String[] args) throws Exception {
    File dir = new File("E:\\BigXMeng");
    if(!dir.exists()){//如果文件夹不存在
        dir.mkdir();//创建文件夹
    }
    File file1 = new File("E:\\BigXMeng\\a.txt");
    if(!file1.exists()){//如果文件不存在
        file1.createNewFile();//创建文件
    }
    File file2 = new File("E:\\BigXMeng\\b.jpg");
    if(!file2.exists()){//如果文件不存在
        file2.createNewFile();//创建文件
    }
    File dir2 = new File("E:\\BigXMeng\\bigbigmeng");
    if(!dir2.exists()){//如果文件夹不存在
        dir2.mkdir();//创建文件夹
    }
}

 运行结果:

 删除文件夹

文件夹只有为空的时候才能直接删除,所以在删除文件夹之前需要先检查文件夹是否为空,如果不为空需要先将文件夹中的子文件夹及文件删除

/**
@author Liu Xianmeng
@createTime 2022/11/29 8:37
@instruction
*/
@SuppressWarnings({"all"})
public class IOTEST {
    /**
     * deleteDir()函数用于删除一个文件夹
     * 如果这个文件夹中存在文件或文件夹
     * 则需要将其中的文件或文件夹删除后再将此文件夹删除
     * 如果传入的是一个文件路径 则直接将此文件删除即可
     * @param path 文件夹或文件的路径
     */
    public void deleteDir(String path){
        try {
            File dir = new File(path);
            if(dir.isDirectory()){
                String[] strArr = dir.list();
                if(strArr.length == 0) dir.delete();
                else {
                    for(String str : strArr){
                        File dir2 = new File(dir, str);
                        if(dir2.isFile()){
                            dir2.delete();
                        }else if(dir2.isDirectory()){
                            deleteDir(dir2.getAbsolutePath());
                        }
                    }
                    dir.delete();
                    System.out.println("删除成功:)");
                }
            }else {
                dir.delete();
                System.out.println("删除成功:)");
            }
        }catch (Exception e){
            System.out.println("删除出现异常:(");
        }
    }

    /**
     * 创建文件夹和文件
     */
    public static void main(String[] args) throws Exception {
        new IOTEST().deleteDir("E:\\BigXMeng");
    }
}

 运行结果: 

 

(后续更新...)

欢迎大家指出文章中不对的地方及需要改进的地方  >.<

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值