0

ファイルとフォルダの (ファイル システム固有の) 違いは何ですか?

java.nio.file.Filesどちらか一方を作成するために異なる方法が必要なのはなぜですか? createDirectory(..)createFile(..)。どちらもPathファイル システム オブジェクトのハンドル/識別子として使用します。

どちらか一方を作成するときに、失敗した場合に何か特別なことを考える必要がありますか (どちらか一方を作成するために別の方法を使用することに加えて) ?

ファイルまたはフォルダーの作成について、同じ名前のファイルまたはフォルダーが既に存在する場合、これは失敗のケースです。それがr/wファイルまたはフォルダになる場合、フォルダの場合は書き込み可能であることを意味し、ファイルの場合はそれにバイトを書き込むことを意味します-これを確認する方法に違いはありますか?

実際に失敗事例に違いがなければ、慣習を抽象化してFileSystemObject同じように扱いたいと思います。

4

1 に答える 1

3

良い質問。

最も一般的なオペレーティング システム (Windows、Linux など) では、フォルダーに何かを含めることができます。それらのものには名前があります。それぞれがファイルまたはディレクトリのいずれかになります。

したがって、次のようなフォルダーがある場合があります。

  a
  b
d c
d d

aおよびbファイルです。cdフォルダです。バイナリデータのみを含めることができますabただしcd他のファイル/フォルダーを含めることができます。

たとえば、c次のようになります。

  afile
  anotherfile
d morestuff
d stuff

これにより、階層を必要なだけ深く、構造化することができます。これは、再帰的なデータ構造の非常に基本的な例です。ファイルとフォルダーは別の種類のものであるため、ファイルとフォルダーのどちらを作成するかを選択すると便利です。ファイルシステムには、フォルダーでもあるファイルを含めることができますが、そのようなファイルシステムは見たことがありません。たとえば、Windows/Linux では、ファイルを作成した場合、それをフォルダーとして使用することはできず、ファイルの内容を変更することしかできません (これは単なる任意のバイナリ データです)。

于 2013-03-21T05:49:08.040 に答える