Coding style 文件名的定义?

Coding style 文件名的定义?,coding-style,filesystems,naming-conventions,terminology,Coding Style,Filesystems,Naming Conventions,Terminology,经过多年的编程,仍然有一些简单的事情让我感到困惑 文件名是否有一个公认的定义 就连这两种解释也混淆了 它首先将其定义为“一种特殊类型的字符串,用于唯一标识存储在计算机文件系统中的文件”。这似乎很清楚,并表明文件名是完全限定的文件名,指定了文件的完整路径 然而,它接着继续: 谈论basename和扩展(那么basename将包含一个绝对路径?) 表示DOS中文件名的长度限制为8.3 表示不带路径部分的文件名假定为当前工作目录中的文件(因此该文件名不能唯一标识文件) 所以,简单的问题是: “文

经过多年的编程,仍然有一些简单的事情让我感到困惑

文件名是否有一个公认的定义

就连这两种解释也混淆了

它首先将其定义为“一种特殊类型的字符串,用于唯一标识存储在计算机文件系统中的文件”。这似乎很清楚,并表明文件名是完全限定的文件名,指定了文件的完整路径

然而,它接着继续:

  • 谈论basename和扩展(那么basename将包含一个绝对路径?)
  • 表示DOS中文件名的长度限制为8.3
  • 表示不带路径部分的文件名假定为当前工作目录中的文件(因此该文件名不能唯一标识文件)
所以,简单的问题是:

  • “文件名”(包括引用)的正确定义是什么
  • 我应该如何明确地命名以下变量:
    • 文件的路径(可以是绝对/完整或相对)
    • 资源的路径,可以是文件/目录/套接字

    • 没有参考资料,只是经验中的白话。当我说得具体一些时,我倾向于使用:

      path
      filespec
      (或文件规范):在文件系统上标识文件所需的所有字符。路径可以是绝对路径(从根目录或最上面的目录开始)或相对路径(从当前的active directory开始)

      filename
      :在当前目录中标识文件所需的字符

      扩展名
      :文件名末尾的字符,通常用于标识文件类型。按照惯例,扩展名通常以点(“.”)开头,文件名可能包含多个扩展名

      basename
      :第一个扩展名开始点之前(但不包括)的文件名

      文件·名称还包括文件名
      (fīl'nām')发音键n。A. 指定给计算机文件的名称 经常将其与其他文件区分开来 包含扩展名的 按类型分类

      它声明使用文件名来命名文件(就像您命名一个人一样)。它用来区别于其他文件。这并不表示它包含路径或其他文件系统强制的属性。 这个定义确实说明文件名通常有一个扩展名。但是这个定义非常谨慎。。。(我认为这是件好事)


      所以。。在开始考虑路径等问题之前,必须设置范围。你在unix世界吗?您是否在dos/windows环境中?

      同样没有参考,但文件名规范取决于操作系统,或者更准确地说,取决于文件系统。让我们从早期版本的DOS(磁盘操作系统)开始。文件名是8个字符的名称,包含数字、字母、破折号和下划线。它们后面是三个、两个、一个甚至零个字符的扩展名,用于标识文件类型。名称与分机名之间有一个点分隔。该名称在目录中必须是唯一的

      您可以通过添加目录名或一系列目录名来扩展名称。斜杠字符将目录名彼此和文件名分隔开。这通常被称为路径名。路径是相对于当前目录的

      最后,在DOS中可以包含驱动器名。通常是一个字母后跟:和斜杠(有些系统是两个斜杠)。将驱动器添加到路径使其成为绝对路径而不是相对路径


      今天,我们大多数人使用长文件名,这些文件名不遵循旧的8字符点3字符模式。仍然有许多文件系统保留诸如name之类的名称,并将长名称用作指向旧式标识符的指针。

      我在File.getName()中没有看到定义。basename的定义与basename(1)返回的内容不符,所以不要假设它是通用的。只是挑剔一点,我可以放心地说,没有“绝对”这样的野兽文件名。每个文件名都与某个上下文相关。文件名“c:\dos.ini”在您和我的计算机上不代表相同的文件。@Stephan:这就是我明确定义绝对值的原因。:-)您是否同意根据常见用法,即参考点通常是访问文件的机器,它是准确的?