2008-11-11 163 views
3

經過多年的編程,它仍然是一些簡單的事情,讓我絆倒。filename的定義?

是否有一個普遍認同的文件名定義?

即使是wikipedia article混淆了這兩種解釋。

它首先將其定義爲'一種特殊的字符串,用於唯一標識存儲在計算機文件系統中的文件'。這似乎足夠清晰,並且建議文件名是完全限定的文件名,指定文件的完整路徑。

然而,然後繼續:(?所以基本名稱將包含一個絕對路徑)

  • 談基名和擴展名
  • 說,在DOS文件名的長度被限制爲8.3
  • 說,不帶路徑的部分文件名被認爲是在當前工作目錄中的文件(這樣文件名不唯一標識一個文件)

所以,簡單的問題:

  • 什麼是「文件名」(包括引用)
  • 我應該如何明確地命名爲變量的正確定義:
    • 的路徑到一個文件(可以是絕對/完整或相對)
    • 到資源的路徑,可以是一個文件/目錄/插座

回答

6

沒有參考文獻,只是白話從經驗。當我特定時,我傾向於使用:

pathfilespec(或文件規範):標識文件系統上文件所需的所有字符。路徑可以是絕對(從根目錄或最頂端的目錄開始)或相對(從當前活動目錄開始)。

filename:識別當前目錄中文件所需的字符。

extension:位於文件名末尾的字符,通常用於標識文件的類型。按照慣例,擴展名通常以點(「。」)開頭,文件名可能包含多個擴展名。

basename:文件名最多(但不包括)開始第一個擴展名的點。

+0

基本名稱的定義與基本名稱(1)返回的內容不相符,所以不要認爲它是通用的用法。 – 2008-11-11 12:57:50

0

文件·名稱也是文件名
(fīl'nām')發音密鑰n。A 給予計算機文件的名稱爲 與其他文件有區別,通常包含 的擴展名 按類型對其進行分類。

@ Dictionary.com

它指出一個文件名來命名文件,(就像你的名字的人)。它用於區分它與其他文件。這並不告訴你它包含一個路徑或其他文件系統強加的屬性。 這個定義確實說通常是一個文件名有一個擴展名。但是這個定義非常小心......(我認爲這是一件好事)

所以......在開始思考路徑等問題之前,你必須設置你的範圍。你在unix世界嗎?你在DOS/Windows世界?

0

再次沒有引用,但文件名規範取決於操作系統或更準確的文件系統。讓我們從早期版本的DOS(磁盤操作系統)開始。文件名是包含數字,字母,破折號和下劃線的8個字符的名稱。它們後面跟着一個三個,兩個,一個甚至零個字符的擴展名,用於標識文件類型。點將名稱與擴展名分開。該名稱在目錄中必須是唯一的。

您可以通過添加目錄名稱或一系列目錄名稱來擴展名稱。一個斜槓字符將目錄名彼此分開,並與文件名分開。這通常被稱爲路徑名稱。該路徑相對於當前目錄。

最後在DOS中可以包含驅動器名稱。通常是單個字母,後跟一個:和一個斜線(某些系統的兩個斜槓)。將驅動器添加到路徑使其成爲絕對路徑而不是相對路徑。

今天我們大多數人使用長文件名不遵循舊的8字符點三字符模式。仍然有很多文件系統保留諸如名稱,並使用長名稱作爲舊樣式標識符的指針。