总结 IO、存储、硬盘、文件系统相关常识
目录
一、IO是什么?
二、存储
三、硬盘
四、文件系统
4.1 文件目录和组织方式
4.2 文化路径
4.3 文件类型
4.4 文件系统操作

一、IO是什么?
IO是英文Input/Output的缩写,指输入/输出。在计算机科学中,IO通常指计算机与外部设备或网络进行数据传输的过程,包括读取和写入文件,输入和输出数据等。
二、存储
我们平常意义的存储可能是存储数据的硬盘,在计算机中,用于数据直接处理的是内存,存储数据的是硬盘,内存相较于硬盘来说速度是快成百上千倍的 , 内存是个不可持久化的,对于内存来说,断电后内存中的数据就会清空 外存也就是硬盘,是持久化的数据,断电后外存的数据不会丢失
三、硬盘
硬盘是一种用于存储数据的计算机存储设备,也被称为硬盘驱动器或硬盘。它由一个或多个旋转的磁盘组成,每个磁盘都有一个磁性表面,可以读写数据。硬盘通常安装在计算机的内部,也可以用作外置设备。硬盘是计算机中最基本的存储设备之一,用于存储操作系统、应用软件、文件和其他数据。
四、文件系统
4.1 文件目录和组织方式
树形组织,是按一定的层级结构来组织的,也就是数据结构中的树,windows中的树是一个N叉树,所以就有了文件夹,目录这样的概念
4.2 文化路径
1.绝对路径 --> Windows是从此电脑这个树根开始进行分层级,所以绝对路径就是从此处开始的,如下图:这个路径就是一个绝对路径,从根目录开始找,一直找到目标文件所在的位置(每经过一个目录就用“\”来分割),所经历的目录就是绝对路径。

2.相对路径 --> 除了绝对路径,我们还可以从任务节点(目录)出发,找到某一个文件(也是找到文件位置所经历的节点),此时所对应的就是相对路径。(从给定的某个目录出发(也叫基准目录/工作目录)所经历的路径)如下图:从Program Files目录开始,找到wab.exe,此时的Program Files就是基准目录(工作目录),Program Files\Windows Mail就是相对路径的表示。
在相对路径中涉及到两个特殊的符号: " . " 和 " .. " ,一个点就代表的是当前目录,两个点就是代表当前目录的上一级目录。
4.3 文件类型
根据存储的数据,我们可以划分文件为文本文件和二进制文件,分别代指保存被字符集编码的文本和按照标准格式保存的非被字符集编码的文件
常见的文本文件:txt,.java / .c,都是文本文件, .class,.exe,jpg,mp3都是二进制文件。
我们可以使用记事本来简单区分二进制文件和文本文件~
当我们用记事本打开下面这个图片


可以发现打开的文件内容根本就看不懂,这种就是二进制文件,他使用原本的编码方式来翻译,但是并不是对应的,没有对应的无法翻译,所以显示出来就是乱码~
打开txt为后缀的文件,我们可以看到右下角记事本显示的是UTF-8 的编码方式,这种就是我们的文本文件

4.4 文件系统操作
Java标准库中提供了File这个类,就是用来操作系统的文件的(例如Java代码操作创建文件删除文件),这个类对象就像是硬盘上的文件的一个抽象表示,在Java中直接操作硬盘上的文件不是很方便,就创建出这样的一个对象,操作这个对象就可以简介的影响硬盘上的文件.
构造File对象和一些File类的一些方法:构造对象的过程中可以使用绝对路径也可以是相对路径进行初始化,这个路径指向的文件可以存在也可以不存在。如下代码: (File类中提供了很多的方法)
import java.io.File;
import java.io.IOException;public class IoDemo1 {public static void main(String[] args) throws IOException {File file = new File("D:/手机照片备份/myphone_72089A8996EA/知乎");System.out.println(file.getParent()); //上一级路径System.out.println(file.getName()); //文件名字System.out.println(file.getPath()); // 相对路径System.out.println(file.getAbsolutePath()); //绝对路径System.out.println(file.getCanonicalPath()); //修饰过的绝对路径}
}

我们还可以操作创建一个文件 代码如下:
import java.io.File;
import java.io.IOException;public class IODemo2 {public static void main(String[] args) throws IOException {File file = new File("D:/手机照片备份/myphone_72089A8996EA/知.txt");System.out.println(file.exists()); //判断是否存在System.out.println(file.isDirectory()); //判断是否是目录System.out.println(file.isFile()); //判断是否是普通文件file.createNewFile(); //在上述位置创建这个文件System.out.println(file.exists()); //判断是否存在System.out.println(file.isDirectory()); //判断是否是目录System.out.println(file.isFile()); //判断是否是普通文件file.delete();System.out.println("执行删除之后");System.out.println(file.isFile());}
}
结果如下:

可以查看 文件类型,看文件是否存在,文件是否为目录,删除文件等等(File类中有很多操作文件内容的方法

相关文章:
总结 IO、存储、硬盘、文件系统相关常识
目录 一、IO是什么? 二、存储 三、硬盘 四、文件系统 4.1 文件目录和组织方式 4.2 文化路径 4.3 文件类型 4.4 文件系统操作 一、IO是什么? IO是英文Input/Output的缩写,指输入/输出。在计算机科学中,IO通常指计算机与外部设备或…...
JavaScript、深入浅出Node.js前端技能汇总
JavaScript 前端技能汇总 Frontend Knowledge Structure 深入浅出Node.js 书籍pdf 《深入浅出Node.js》的相关代码 Javascript&jQuery教程 pdf html & css教程 pdf 高性能JavaScript_中英双语版 pdf 跳坑之js调用另一个js文件中函数 方法1; 在html文件中加入两…...
use gnustep objective-c
first app #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {NSAutoreleasePool *pool [NSAutoreleasePool new];NSLog("first start");[pool drain];return 0; }tech 专注于概念,而不是迷失在语言技术细节中编程语言…...
8.15锁的优化
1.锁升级(锁膨胀) 无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 偏向锁:不是真的加锁,而是做了一个标记,如果有别的线程来竞争才会真的加锁,如果没有别的线程竞争就不会加锁. 轻量级锁:一个线程占领锁资源后,另一个线程通过自旋的方式反复确认锁是否被是否(这个过程比较…...
单片机复位电路分析
来分析一下这个电路: 首先这里面有电容,所以是一个动态电路。哈哈哈 假设左上角的电压源是5V的代号为VOLT。 可以知道电容capacitor C1左边的电压也是5V,电容中间隔着一个绝缘体,所以不导电, 这个时候电流无法通过…...
公文写作技巧:“三面镜子”写作提纲60例
写作技巧:“三面镜子”写作提纲60例 1. 用好“三面镜子” 推深做实警示教育 勤用“反光镜”以案为鉴。 善用“显微镜”以案明纪。 巧用“聚光镜”以案促改。 2. 年轻干部要用好“三面镜子” 用好“反光镜”,照亮基层中的“暗点” 用好“显微镜”&am…...
useEffect中的函数会执行2次原因
一、useEffect介绍 useEffect是React18的新特性,表示React的生命周期Hooks组件。等价于Claas组件的componentDidMount、componentDidUpdate,useEffect的返回函数等价于componentWillUnmount。(组件卸载、重新挂载都会触发这个函数,…...
更新k8s环境支付系统支付证书
目录 一、背景 二、更新支付系统银行证书 三、备份旧的secret信息 四、更新支付应用的证书信息 五、重启支付系统的应用 六、验证应用实例挂载的秘钥已更新 一、背景 支付系统是基于k8s容器化部署的微服务,支付系统使用的支付证书以及和银行有关的证书都是保存…...
C#的yield
在 C# 中,yield 关键字用于定义迭代器方法(Iterator Methods),并使其返回一个可枚举的序列。通过使用 yield 关键字,可以简化迭代器的实现,使其更加直观和易于理解。 使用 yield 关键字定义的方法被称为迭…...
外卖多门店小程序开源版开发
外卖多门店小程序开源版开发 外卖多门店小程序开源版的开发可以按照以下步骤进行: 确定需求:明确外卖多门店小程序的功能和特点,包括用户注册登录、浏览菜单、下单支付、订单管理等。技术选型:选择适合开发小程序的技术框架&…...
打印图案、
描述 请编写一个程序,打印下面的图案: 输入 无 输出 打印上述图案 输入样例 1 无 输出样例 1 * * * * * * * * * * * * * * * * * * * * * * * * * 代码一(如下):直接输出 #include <iostream> usin…...
# Windows 环境下载 Android 12源码
前言 Android 官网(该方式不适合 Windows 平台):https://source.android.com/source/downloading.html (备注自 2021 年 6 月 22 日起,安卓操作系统不再支持在 Windows 或 MacOS 上进行构建,如果要编译源码推荐先安装…...
【运维面试】Docker技术面试题总结
【运维面试】Docker技术面试题总结 一、Docker的基础概念1.1 什么是Docker?它可以为我们提供哪些便利?1.2 Docker的优点是什么?1.3 Docker的镜像是什么?1.4 Docker的数据卷是什么?1.5 Docker Compose是什么?1.6 Docker Swarm是什么?1.7 Docker Hub是什么?有哪些用途?1…...
CNN成长路:从AlexNet到EfficientNet(01)
一、说明 在 10年的深度学习中,进步是多么迅速!早在 2012 年,Alexnet 在 ImageNet 上的准确率就达到了 63.3% 的 Top-1。现在,我们超过90%的EfficientNet架构和师生训练(teacher-student)。 如果我们在 Ima…...
使用IDEA操作Mysql数据库
idea中自带了关于数据库的连接 首先要确保你的MySQL正在运行中 打开idea找到database( view —> Tool Windows —> database),大家也可以定个快捷键,方便以后日常操作 就是这个样子,然后点加号 然后就可以编写执…...
ChatGPT下架官方检测工具,承认无法鉴别AI内容
去年底,OpenAI 推出的 ChatGPT ,带来了生成式人工智能涌现的热潮。它不仅能够协助完成撰写邮件、视频脚本、文案、翻译、代码等任务,还能通过学习和理解人类的语言来进行对话,并根据聊天的上下文进行互动。 但随之而来的争议也让人…...
Java通过实例调用getClass()方法、类名.class操作、通过运行时类获取其它信息
说明 Java Object类的getClass()函数,是通过对象调用的,是一个实例方法,该方法返回当前对象的运行时类。 通过类名.class可以获得和通过实例调用getClass()函数一样的信息。 获得运行时类以后,可以进一步获取其它信息。 代码示例…...
UE5+Paperzd问题
TopDown的2D游戏,遇到两个问题,第一问题是游戏一开始就会从tilemap上掉下去。第二个问题是没法和图层2上的物体做碰撞。 一、碰撞问题 1、创建的TileSet后,左侧选中一个tile后,一定要点击上边的Add Box,否则创建出来的…...
K8S系列文章之 自动化运维利器 Ansible
Ansible-安装 第一步:安装我们的epel扩展源 yum -y install epel-release 我这里会报/var/run/yum.pid 已被锁定,如果没有直接进行下一步 [rootmaster home]# yum -y install epel-release 已加载插件:fastestmirror, langpacks /var/run/…...
Julia 字典和集合
数组是一种集合,此外 Julia 也有其他类型的集合,比如字典和 set(无序集合列表)。 字典 字典是一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key>value 对用 > 分割,每个键值对之间用逗…...
RHCE第四次练习
第 1 步:创建脚本文件vim mem_check.sh第 2 步:写入脚本内容第3步:运行脚本...
LPA分层审核指标是什么?读懂LPA分层审核指标才能评估审核有效性
在工厂的质量管理体系运行中,LPA(分层过程审核)是确保标准作业落地、问题及时发现和整改的有力工具。但很多企业推行LPA后,仅仅关注有没有做审核,却忽略了审核做得怎么样。结果,审核表填了一大摞࿰…...
保姆级教程:用PySpark Streaming把MySQL变成实时数据仓库(附完整代码)
从MySQL到实时数据仓库:PySpark Streaming实战进阶指南 在数据驱动的商业环境中,传统批处理模式已无法满足企业对实时洞察的需求。本文将深入探讨如何利用PySpark Streaming将静态的MySQL数据库转变为动态的实时数据仓库,实现从数据采集、处…...
青龙面板自动化签到终极指南:30+平台一键签到,每天节省30分钟
青龙面板自动化签到终极指南:30平台一键签到,每天节省30分钟 【免费下载链接】check 青龙面板平台签到函数 项目地址: https://gitcode.com/gh_mirrors/check5/check 还在为每天繁琐的签到任务烦恼吗?签到盒青龙版是你的完美解决方案&…...
【亲测免费】 VisionPro培训文档全中文版
VisionPro培训文档全中文版 【下载地址】VisionPro培训文档全中文版 VisionPro培训文档全中文版欢迎使用VisionPro培训文档全中文版!本资源是专为机器视觉领域从业者及学习者精心准备的一套全面指南,旨在帮助您快速掌握VisionPro软件的强大功能与应用技巧…...
OpenClaw 上下文瘦身:3 个实验
这篇不是讲“提示词怎么写得更优雅”。我只看一个更硬的问题:Agent 跑久以后,上下文到底是怎么胖起来的,哪一刀最值得先砍。实验脚本和结果都放在本地目录里,可以复跑。你大概见过这种故障: Agent 前 10 分钟很听话&am…...
PTA天梯赛L2-007家庭房产题解:用C++并查集+结构体搞定复杂家庭关系统计(附完整代码)
PTA天梯赛L2-007家庭房产题解:C并查集与结构体的高效应用 在算法竞赛中,处理复杂关系网络是常见挑战。PTA天梯赛L2-007"家庭房产"题目正是这类问题的典型代表,要求选手统计每个家庭的人口、房产套数和人均面积。这道题看似简单&am…...
KeyboardChatterBlocker:拯救老旧机械键盘的终极免费防连击方案
KeyboardChatterBlocker:拯救老旧机械键盘的终极免费防连击方案 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否曾经在…...
Windows Cleaner:免费开源的系统优化神器,彻底告别C盘爆红烦恼
Windows Cleaner:免费开源的系统优化神器,彻底告别C盘爆红烦恼 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常被Windows系统C盘…...
NotebookLM提示工程在能源政策分析中的致命误区(附12个经NREL验证的Prompt模板)
更多请点击: https://codechina.net 第一章:NotebookLM能源技术研究 NotebookLM 是 Google 推出的基于 AI 的研究协作者工具,其核心能力在于对用户上传的私有文档进行语义理解与上下文关联。在能源技术领域,研究人员可借助 Noteb…...
