总结 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 对用 > 分割,每个键值对之间用逗…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
