7

何年にもわたるプログラミングの後でも、私をつまずかせ続けるのは単純なことのいくつかです。

一般的に合意されているファイル名の定義はありますか?

ウィキペディアの記事でさえ、2つの解釈を混同しています。

それは、「コンピュータのファイルシステムに保存されているファイルを一意に識別するために使用される特別な種類の文字列」として定義することから始まります。これは十分に明確であるように思われ、ファイル名が完全修飾ファイル名であり、ファイルへの完全なパスを指定していることを示唆しています。

ただし、次のようになります。

  • ベース名と拡張子について話します(したがって、ベース名には絶対パスが含まれますか?)
  • DOSでのファイル名の長さは8.3に制限されていると言います
  • パス部分のないファイル名は、現在の作業ディレクトリ内のファイルであると見なされることを示します(したがって、ファイル名はファイルを一意に識別しません)

だから、簡単な質問:

  • 'filename'の正しい定義は何ですか(参照を含む)
  • 次の変数に明確に名前を付けるにはどうすればよいですか。
    • ファイルへのパス(絶対/完全または相対)
    • ファイル/ディレクトリ/ソケットになり得るリソースへのパス
4

4 に答える 4

9

参照はありません。経験からの言葉です。私が具体的にしているとき、私は使用する傾向があります:

pathまたはfilespec(またはファイル仕様):ファイルシステム上のファイルを識別するために必要なすべての文字。パスは、絶対パス(ルートディレクトリまたは最上位ディレクトリから開始)または相対パス(現在アクティブなディレクトリから開始)の場合があります。

filename:現在のディレクトリ内のファイルを識別するために必要な文字。

extension:ファイル名の末尾にある文字で、通常はファイルの種類を識別します。慣例により、拡張子は通常ドット( "。")で始まり、ファイル名には複数の拡張子が含まれる場合があります。

basename:最初の拡張子を開始するドットまでのファイル名(ただし、ドットを含まない)。

于 2008-11-11T12:47:15.790 に答える
0

File.getName()メソッドのJavadoc

于 2008-11-11T12:46:43.810 に答える
0

file・nameまたファイル名
(fīl'nām')発音キーn。コンピュータファイルを他のファイルと区別するために付けられた名前。多くの場合、ファイルをタイプ別に分類する拡張子が含まれています。

@ Dictionary.com

これは、ファイル名がファイルに名前を付けるために使用されることを示しています(人に名前を付けるのと同じように)。そして、それは他のファイルと区別するために使用されます。これは、パスやその他のファイルシステムによって課せられた属性が含まれていることを示すものではありません。この定義は、多くの場合、ファイル名に拡張子が付いていることを示しています。しかし、この定義は非常に注意が必要です...(これは良いことだと思います)

したがって、パスなどについて考える前に、スコープを設定する必要があります。あなたはUNIXの世界にいますか?あなたはdos/windowsの世界にいますか?

于 2008-11-11T12:50:12.210 に答える
0

ここでも参照はありませんが、ファイル名の指定はオペレーティングシステムによって異なりますが、より正確にはファイルシステムによって異なります。DOS(ディスクオペレーティングシステム)の初期バージョンから始めましょう。ファイル名は、数字、文字、ダッシュ、アンダースコアを含む8文字の名前でした。その後に、ファイルタイプを識別するために使用される3、2、1、またはゼロの文字拡張子が続きます。名前と拡張子はドットで区切られています。名前はディレクトリ内で一意である必要がありました。

ディレクトリ名または一連のディレクトリ名を追加することで、名前を拡張できます。スラッシュ文字は、ディレクトリ名を相互に、およびファイル名から分離しました。これは通常、パス名と呼ばれていました。パスは現在のディレクトリからの相対パスでした。

最後に、DOSではドライブ名を含めることができます。通常、1文字の後に:とスラッシュが続きます(一部のシステムでは2つのスラッシュが続きます)。ドライブをパスに追加すると、相対パスではなく絶対パスになりました。

今日、私たちのほとんどは、古い8文字のドット3文字のパターンに従わない長いファイル名を使用しています。それでも多くのファイルシステムは名前などを保持し、長い名前を単に古いスタイルの識別子へのポインタとして使用します。

于 2008-11-11T13:18:38.503 に答える