• 计算机的基础知识


    目录

    一、计算机的文件

    1、计算机硬件设备

    2、常见的IO设备 

     3、硬盘——存储

    4、硬盘数据的读写问题

    5、文件的路径 

     二、使用java代码操作文件

    1、文件对象

     2、文件的常用方法

     3、文件的创建

    4、文件的删除 


    一、计算机的文件

    1、计算机硬件设备

    处理器(CPU),存储器(内存),输入设备(Input Device),输出设备(Output Device)

    CPU只和内存做数据交换

    2、常见的IO设备 

    显示器(O)、触屏显示器(IO)、鼠标(I)、键盘(I)、摄像头(I)、麦克风(I)、扬声器(O)、硬盘(IO)、网卡(IO)

     3、硬盘——存储

    4、硬盘数据的读写问题

    文件被以树结构进行管理,文件就会树上的节点

    文件可以分为:

           存储数据的文件——普通文件

           管理树形结构组织数据的文件——目录/文件夹

            这棵文件树是一个逻辑结构,而不是硬盘的逻辑结构

    树的节点可以分为:叶子节点 or 非叶子节点

            普通文件就是叶子节点

            目录文件可以是非叶子节点也可以是叶子节点(空目录)

    文件系统的操作

           文件移动操作:就是节点的移动

           文件复制操作:新建节点+内容复制

           目录移动操作:以某个节点为根的子树的移动

           目录的复制操作:以某个节点为根子树的复制

    5、文件的路径 

     关于文件的路径(path):根据一个规则,从文件树上唯一的确定一个位置,这个位置一定对应了某个节点,但是这个节点可以不存在

    ①绝对路径:从一棵树的根节点出发描述的路径

    ②相对路径:从当前所在的文件位置出发

    Windows使用"\"作为路径分隔符,Linux使用"/"作为路径分隔符,在java中,我们两种都可以使用,但是在使用"\"时需要转义("\\")

    路径中的两个特殊符号:

                "." 表示在当前的位置

                ".." 表示回到当前文件位置的上一级目录

     二、使用java代码操作文件

    1、文件对象

    File对象描述一个文件

    1. import java.io.File;
    2. public class FilePath {
    3. //1、绝对路径的方式创建
    4. //1.1 直接传入字符串的路径
    5. File f1=new File("D:\\桌面文件\\java课程\\文件操作\\hello.txt");
    6. //1.2 传入父路径+子路径
    7. File f2=new File("D:\\桌面文件\\java课程\\文件操作","hello.txt");
    8. //1.3 以File传入parent
    9. File parent=new File("D:\\桌面文件\\java课程\\文件操作");
    10. File f3=new File(parent,"hello.txt");
    11. }

     2、文件的常用方法

    文件的比较 

     3、文件的创建

     当这个文件已经存在时,再次运行这个代码就会创建失败,返回false

    4、文件的删除 

     删除非空目录

    先遍历,删除该目录下的所有子孙,让这个目录变成空目录,然后在删除该目录

    1. import java.io.File;
    2. import java.io.IOException;
    3. //删除非空目录
    4. public class deleteNonemptyDirectories {
    5. public static void main(String[] args) throws IOException {
    6. File f1= new File("D:\\桌面文件\\java课程\\文件操作");
    7. traversal(f1);
    8. }
    9. public static void traversal(File dir) throws IOException {
    10. //查看这个目录下的所有孩子(不是子孙)
    11. File[] f1=dir.listFiles();
    12. for (File file:f1) {
    13. //如果这个孩子也是目录就继续遍历
    14. if (file.isDirectory()){
    15. //打印当前目录
    16. System.out.println(file.getCanonicalFile());
    17. traversal(file);
    18. //此时已经到最底层文件或者是空目录了
    19. file.delete();
    20. }else{
    21. //得到标准的绝对路径,此时已经到最底层文件或者是空目录了
    22. System.out.println(file.getCanonicalFile());
    23. file.delete();
    24. }
    25. }
    26. }
    27. }

     三、相关代码

    https://gitee.com/ren-xiaoxiong/rocket_class_ds_webicon-default.png?t=M5H6https://gitee.com/ren-xiaoxiong/rocket_class_ds_web

  • 相关阅读:
    面试题 01.08. 零矩阵
    图像处理初学者导引---OpenCV 方法演示项目
    win10,WSL的Ubuntu配python3.7手记
    记录:C++打印堆栈信息并优化打印结果
    Net6集成Nacos实现服务注册
    【笔者感悟】笔者的工作感悟【三】
    PLC SSD来了,固态硬盘SSD马上要成白菜价了吗?
    用 ZEGO Avatar 做一个虚拟人|虚拟主播直播解决方案
    swagger文档部分乱码解决,swagger文档设置自动同步到yapi
    spring面试连环炮,最后一问才是经典
  • 原文地址:https://blog.csdn.net/m0_68989458/article/details/125516893