これは RuntimeRevolution 1.1.1 のヘルプにある文書を邦訳したものです。この文書の文責はUDIにあり、またUDIはこの文書についての一切の債務を負いません。 間違いがありましたら eudio@chabashira.co.jp までお知らせ下さい。この文書は必要と思われる時に適宜アップデートされます。

Help -> Revolution Documantation -> Development Guide -> Files, folders, & Resources -> About... filename specifications and file paths


About filename specifications and file paths
ファイル名の指定とファイルパス
==============

参照:
--------------
How to find out the location of the current stack's file, How to list the contents of a folder, Why can't Revolution find a file I specified?, answer file command, answer folder command, ask file command, close file command, create folder command, defaultFolder property, file keyword, filename property, filename of stack property, files function, folders function, longFilePath function, name property, open file command, read from file command, shortFilePath function, URL keyword, write to file command


 ファイルパスとは、ファイルやフォルダの位置を、ハンドラから見つけられるようにするための記述法である。ファイルパスは、Revolution でテキストファイルを読み書きする時、外部にある QuickTime ファイルをプレイヤーで表示する時など、多くの場面で使われる。アプリケーションから外部ファイルを参照するには、ファイルパスの構文について理解しておく必要がある。

 このトピックでは、ファイルネームの作り方や読み方、アプリケーションのファイルパスから関連ファイルのパスを得る方法、異なったフォルダ構造のシステムにインストールされたアプリケーションからこれらのファイルにアクセスする方法などを解説する。

 このトピックを充分に理解するには、フォルダとは何か、ファイルを別のフォルダに移動するにはどうすれば良いか、そのオペレーティングシステムで使われているファイルの位置を探す方法など、コンピュータのファイルシステムについての基本を理解している必要がある。


Contents:
The Structure of a File Path
File and Folder Paths
Absolute File Paths
Relative Paths
Using File URLs
Specifying a File's Type


The Structure of a File Path
ファイルパスの構造
 ファイルパスは、ファイルの位置を正確に記述したものである。ファイルパスはコンピュータのファイルシステムのトップ(多くはディスクドライブ名)で始まり、そのファイルに辿り着くまでの全フォルダ名を含んでいる。

 例えば 'My File' というファイルが、'This Folder' というフォルダに入っているとする。このフォルダは更に 'Other Folder' というフォルダの中にあり、それが 'My Disk' というディスクに入っている。このファイルの位置情報を正確に記述するにはどうしたら良いだろうか。

 Revolution ではこのようなファイルパスを使って、ファイルの位置情報を記述する:

  /My Disk/Other Folder/This Folder/My File
 先頭がディスク名で始まり、ファイルに辿り着くまでのフォルダ名が続いている。このパスを使えば、記述されたファイルを正しく見つけることが出来る。ファイルパスには、そのファイルを含むファイル階層の各レベルが記述されている。

 (各プラットホームは、プログラマがファイルパスを記述するための方法をそれぞれ持っている。上に示したファイルパスは、Unix システム上で一般的に使われるファイルパスの書式である。クロスプラットホームの互換性を保つために、 Revolution ではどのプラットホームでもこの書式を用いる。これによってアプリケーションは、どのプラットホーム上でも、コンバートすることなく同じファイルパスを使うことが出来る。全ての Transcript コマンド、プロパティ、関数は、この Unix スタイルのファイルパスを使う)

 クロスプラットホームの注意: Windows システムではディスクの名前はドライブレターとコロンで表される。 Windows システムではこのようなファイルパスが一般的である:
  C:/folder/file.txt
Converting the / character:
'/' キャラクタの変換
 Unix と Windows ではファイル名やフォルダ名にスラッシュ( / )を使うことは出来ないが、Mac OS のファイル名やフォルダ名には使うことが出来る。ファイル名やフォルダ名にスラッシュが入っていると、スラッシュ以降の名前を次の階層と解釈して混乱してしまう。そこで Revolution は、Mac OS 上のフォルダ名やファイル名の中にスラッシュがあると、それをコロン( : )に置き換える。Mac OS 上ではフォルダ名やファイル名にコロンを使うことは出来ないので、問題は起こらない。


File Paths and Folder Paths
ファイルパスとフォルダパス
 フォルダのファイルパスは常にスラッシュで終わる。このスラッシュは、このパスがファイルではなくフォルダのパスであることを示している。例えば、'Doomsday' ディスクの 'Forbin' フォルダにある 'Project' フォルダは、このように表される:
  /Doomsday/Forbin/Project/
 もし 'Project' がファイルだった場合は、最後のスラッシュは付かない:
  /Doomsday/Forbin/Project

Absolute File Paths
絶対ファイルパス
 絶対ファイルパスは、ファイルシステムのトップからファイルやフォルダの場所までを、上から順に表したものである。( Unix システムではファイルシステムのトップは root ディレクトリである。 Mac OS と Windows システムではファイルシステムのトップはディスク名である)

 絶対ファイルパスはスタックファイルがどのフォルダにあっても、またカレントフォルダがどこであっても、それらに依存することはなく決められる。絶対パスは常にフォルダやファイルの位置を同じ方法で表す。

 Mac OS、OS X、Unix システムでは、絶対ファイルパスは常にスラッシュで始まる。 Windows システムでは、絶対パスは常にドライブレターで始まる。

 このトピックでこれまで提示してきたファイルパスは、全て絶対パスである。


Relative File Paths
相対ファイルパス
 相対ファイルパスは、絶対パスのようにファイルシステムのトップではなく、特定のフォルダからスタートする。

 全ての相対ファイルパスは、ある決まったフォルダから、目的のファイルやフォルダまでのファイルパスで出来ている。デフォルトではアプリケーション( Revolution 開発環境、またはスタンドアローンではそのアプリケーション)を含むフォルダが、カレントフォルダである。

 カレントフォルダは、defaultFolder プロパティをセットして変更することが出来る。

 相対ファイルパスは絶対パスよりいくらか複雑であるが、ファイルやフォルダ全体のパスを要求しないので、より柔軟に使うことが出来る。例えば、フォルダやディスクの名前を変更したり、名前やフォルダ名を変えて他のシステムにアプリケーションを移動すると、絶対パスは使えなくなるが、スタックファイルからの相対パスなら、正しい位置を示すことが出来る。例えば answer コマンドで得たファイルパスを使ってファイルを作る時のように、使っているファイルパスがそのシステム上で作られたものなら、問題は起こらない。しかしこのファイルパスをスタックに保存して、後で再利用するなら、相対パスを利用した方がより確実である。

 例えばスタックが 'This Folder' フォルダにあり、その同じフォルダ内の 'Stories' フォルダに 'Westwind' というファイルがあった場合、絶対ファイルパスはこのような感じになる:
  /My Disk/Other Folder/This Folder/Stories/Westwind
 しかしスタックファイルは既に 'This Folder' フォルダにあるので、'This Folder' までのステップは不要である。代わりに相対パス名を使って、'Westwind' ファイルの位置を説明することが出来る:
  Stories/Westwind
 相対パスは 'This Folder' から始まって 'Westwind' ファイルで終わる。もし 'My Disk' や 'Other Folder' の名前を変えると絶対パスではファイルを見失うが、相対パスは 'This Folder' 以上の階層の名前を必要としないので、正しくファイルを指し続ける。

 もし 'This Folder' フォルダを丸ごと他のシステムにコピーしても、'This Folder' フォルダの中身を変えない限り、相対パスネームはそのまま使うことが出来る。

The parent folder:
親フォルダ:
 カレントフォルダより上の階層を指定するにはどうしたら良いだろう?

 上のレベルを指定するには、パスの先頭に '../' を付ける。例えば、'Other Folder' に 'This Folder' と 'That Folder' があるとしよう。 'That Folder' には更に 'More Stuff' フォルダが入っている。 'This Folder' から 'More Stuff' を指定する相対パスは、このようになる:
  ../That Folder/More Stuff/
 前の例と同じように、パスは 'This Folder' からの相対指定である。最初の部分でひとつ上の 'Other Folder' に移動している。 'Other Folder' は 'That Folder' を含んでいるので、残りのパスは絶対パスと同じである。

 もうひとつ '../' を使って、もうひとつ上の階層を指定することが出来る。現在のレベルから2つ上がるには '../../' を、3つ上がるには '../../../' を使う。同様にして4つ上のレベルも指定できる。

 './' は「カレントフォルダ」を表す。

 相対パス '..' はカレントフォルダの親フォルダを示している。

Paths relative to the home directory:
ホームディレクトリを示す相対パス:
 Unix システム上では、'~' キャラクタはユーザーのホームディレクトリを指す。

 '~/' で始まる相対パスは、カレントユーザーのホームディレクトリからの相対パスである。 '~' で始まりそのシステム上の user ID が続く相対パスは、そのユーザーのホームディレクトリを表している。


Using File URLs
URL でファイルを扱う
 file、binfile、resfile タイプのファイルの内容を URL で参照することが出来る。これら3つの URL タイプは、これまで述べたファイルパス構文と組み合わせて使われる。

 例えばこの文は、このトピックで述べた絶対パスを使って、'My File' ファイルの内容を get するものである。
  get URL "file:/My Disk/Other Folder/This Folder/My File"
 URL 構文では単に 'file:' を加えてファイルパスを扱うことが出来る。

 また URL を使って、これまで説明してきた相対パスを扱うことも出来る。
  get URL "file:Stories/Westwind"
  get URL "file:../That Folder/More Stuff/"
 Revolution から得たファイルパスから URL 表現を作るには、& オペレータを使う:
  answer file "Please choose a file to get:"
  get URL ("file:" & it)

Specifying a File's Type
ファイルタイプの指定
 Mac OS や OS X システムでは、ファイルを作るときに4文字の type (タイプ)シグネチャと、4文字の creator (クリエータ)シグネチャが一緒に保存されている。クリエータはそのファイルを所有するアプリケーションを指定するものである。アプリケーションはファイルタイプからファイルのフォーマットを判断する。また他のアプリケーション(オーナーに限らない)は、ファイルタイプを見て、それが扱えるファイルかどうかを判断することが出来る。作成するファイルのファイルタイプとクリエータを設定するには、fileType プロパティを使う。

 Windows システムでは、ファイル名の最後に付ける3文字の拡張子によって、ファイルタイプが決定される。ファイル名のうちピリオド以降が拡張子である。拡張子には、A-Z の文字、0-9 の数字、'(シングルクォート)、!、@、#、$、%、^、&、(、)、-、_、{、}、`、そして ~ を使うことが出来る。

 Unix システムにはファイルタイプを指定する決まった方法は無いが、多くの Unix システムでは Windows システムに似た拡張子をファイル名に付ける。これらの拡張子の長さに決まりは無く、またどんな文字でも使うことが出来る。

 現在のところApple は、OS X システム上のファイルに対して、ファイルタイプとクリエータを設定することを勧めている。ファイルを作る時はファイルタイプとクリエータを設定した上で、ファイル名の終わりに拡張子も付けることを推奨する。 OS X システムでは12文字までの拡張子を使うことが出来、a-z. の文字、0-9 の数字、$、%、_、~ が利用できる。 OS X のファイルについての最新情報は、アップルの開発者向けドキュメントである <http://www.apple.com/developer/> から得ることが出来る。

邦訳/文責:UDI
2003.01.11

inserted by FC2 system