FILE NAME(filename)文件名的理解
文件名(FILE NAME)
1.文件名发展历史
1962年 为了兼容时分系统,便引入了文件的概念,与此同时,作为区分文件拓展名的点(dot),也几乎同时出现。
传统的文件系统中,文件名只允许数字和字母,但是随着时间,允许加入的符号也变多了,这就影响了文件从一个系统到另一个系统的兼容性问题。
1985年RFC 官方就指定,为了识别某个文件,必须将路径名定义成字符串加到文件系统当中。
1995年前,因8.3FILENAME (SFN,Short File Name)只提供8位短型文件名,因此在1995年提出了一种LongFile Name 文件系统(VFAT, Virtual File Allocate Table)
2.文件名的引用
文件的引用包括:绝对引用,以及相对的引用。
绝对的引用:涵盖系统所有目录。
相对引用:则只会引用当前的工作路径中的文件,这种相对引用的优点使得不同的程序可以引用不同的文件。
这种相对与绝对的路径构成了一系列的文件名。
3.同一文件的文件名个数
在类Unix文件系统中,允许一个文件包含多个文件名。但在传统的unix系统中,文件名跟文件的inod或者先关程序是硬连接的(理解为一对一的连接过程)。
多文件名(可理解为原文件名的别名)应用举例,以VFAT为基础的LFNs允许文件的多个文件名
如将"long file name.???"改写成"longfi~1.???",以此缩短了文件名长度从而使文件可以兼容到早些年8.3filename(SFN,Short File Name)的文件系统中的应用程序当中。
4.文件名字符长度
不同的文件系统支持不同长度的文件名。而受限的文件名长度,主要是跟文件系统分配的文件名存储空间大小有关,因此并不是越大的存储空间越好,因为在增加存储空间的同时,会引起兼容性问题以及意味着更多的空间将被占用。
5.文件名的扩展名
文件名被分为文件基础名跟文件的扩展名。文件的扩展名用于应用程序的识别,而同一个应用程序生成的多个文件,其扩展名是相同的。
6.文件名编码的通用性
因为文件在系统中的存储、应用程序中的调用、网络中的传输、数据的压缩存档、文件的配置等等都会根据文件名来进行操作,因此文件名的编码通用性极其重要。
传统的文件名,允许在文件系统安全的情况下可以起任意的文件名,但是当这本地文件出现在其他的系统中时,由于系统差异(编码方式的差异),这可能就将出现一些互操作性问题。
为了解决文件名编码通用性的问题目前提出的解决办法有:
1. 引入了Unicode的概念(统一了编码方式,目前最普遍)
2. 使得文件名的代码转换透明化
3. 存储非标准的文件名
4. 给予文件名不同的权重,以此避免相同权重文件名的文件出现在相同的目录当中。
7.独一性
同一个目录下,每个文件的文件名必须是独一无二的。不同路径下,可能有相同文件名的文件存在。
8.字母大小写问题
在不同的文件系统当中,对文件名字母的大小写处理可能也存在差异。
如FAT文件系统,不区分字母格式大小写,Unix系统则区别文件名字母的大小写。
9.保留的字符和保留的文件名.
不同的文件系统对应保留的文件名都不同。
在Unicode成为行业标准前,有的文件系统只支持其应用场景下的字符文件名,而另一部分文件系统,除了支持Unicode所规定的字符,还支持其他一些额外的符号文件名。
FILE NAME(filename)文件名的理解相关推荐
- input file multiple获取文件名
input file multiple获取文件名(以分号分隔) <!DOCTYPE html> <html> <head> <meta ...
- ERROR:can’t read “File Watch(fileName)”:no such element in array
ERROR:can't read "File Watch(fileName)":no such element in array 在安装Quartus的过程中出现如下错误,原因是使 ...
- js修改上传文件(File)的文件名
之前文章我们已经讲述了如何将网络图片转化为本地图片,传送门: https://blog.csdn.net/a1056244734/article/details/120261134 转好之后还需要有上 ...
- scala -cp file.jar filename的案例
一.新建scala类,如图所示: 二.用scalac编译文件到指定的classes目录中,如图所示: 包括 HelloWorld与BeautifluGirl两个大类 最终class目录内容如下 : 然 ...
- 统计了300课时的代码,得到学Python需要掌握的1024个英语单词
对话框回复「导航」获取历史推送 与非学堂 专注青少年信息技术教育,探讨少儿编程的教与学,交流技巧.分享资源. 一批孩子学业有成,一批新人又开始成长. 曹老师对之前的同学学过的300课Python代 ...
- Java动态拼接SQL--02--Jpa
本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring ...
- [Python学习] 专题四.文件基础知识
前面讲述了函数.语句和字符串的基础知识,该篇文章主要讲述文件的基础知识(与其他语言非常类似). 一. 文件的基本操作 文件是指存储在外部介质(如磁盘)上数据的集合.文件 ...
- struts2上传多文件(b)
UploadUtil.java<br>------------------- /** * 上传文件,名称以日期命名 * * @author Administrator */ pub ...
- 程序员专业常用英语词汇
A Absolute 绝对 Access 存取 Access time 存取时间 Accompanying 陪同,伴随 According to 根据 Accuracy 准确性 Acquire 获得 ...
最新文章
- 前端面试instanceof_面试造火箭,看下这些大厂原题
- program的发展史与两个数学方法
- 高并发C/S的TCP版本golang实现
- 计算机设备管理系统报告,设备管理信息化自查报告
- php 获取字符串中的url,php使用正则表达式获取字符串中的URL
- 安全认证传输服务器介绍
- 树形结构 —— 并查集
- is not a function_libcxx 的 std::function 源码分析
- mysql加密复制_MySQL主从复制使用SSL加密
- 51nod 1275 连续子段的差异(twopointer+单调队列)
- Dell R410服务器查看系统raid级别
- mysql中grade字段降序排列_Mysql order by 多个字段排序
- 《数据算法:Hadoop_Spark大数据处理技巧》艾提拉笔记.docx 第1章二次排序:简介 19 第2章二次排序:详细示例 42 第3章 Top 10 列表 54 第4章左外连接 96 第5
- IIS6.0相关漏洞复现
- (四)数据建模和数据库设计
- LintCode Copy Books
- 【京东笔试题】熊猫吃竹子,回溯
- 动网新闻系统IWMS中实现带标题幻灯片的功能效果
- Python小知识:推导式用法大全,Comprehension
- DVD转VCD,MPG文件参考
热门文章
- Ceph 存储集群2-配置:心跳选项、OSD选项、存储池、归置组和 CRUSH 选项
- 51单片机接上拉电阻原理
- 路由网关---zuul
- 利用Python进行心脏病患者特征分析
- [ORACLE] ORA-00054 错误的解决方案
- 计算机三级网络技术(选择高频考点)
- 关于登录PL/SQL时出现的错误:error while tring to retrieve text for error ORA-12541
- Spring @Scheduled 使用详解
- Java WORD转换PDF 并添加水印 (附赠jar提取链接)
- 【最大似然估计】详解概率论之最大似然估计