ファイルを非同期で開くことの利点は、Adobe AIR がバックグラウンドで読み取りと書き込みの処理を実行している間に、他のコードを実行できることです。非同期で開いた場合は、処理が進むにつれて
同期的に開いた File オブジェクトは ByteArray オブジェクトと同じように動作し、非同期で開いたファイルは Socket または URLStream オブジェクトと同じように動作します。File オブジェクトを同期的に開いた場合、要求されたデータの読み取りまたは書き込みを基になるファイルに対して実行している間、呼び出し元は一時停止します。非同期で開いた場合、ストリームに書き込まれたデータは即時にバッファーに格納され、後でファイルに書き込まれます。
ファイルからの読み取りが同期的であるか非同期であるかにかかわらず、実際の読み取りメソッドは同期的です。どちらの場合も、現在 "使用可能な" データから読み取られます。違いは、同期的に読み取る場合は常にすべてのデータが使用可能であるのに対して、非同期で読み取る場合はデータストリームが読み取りバッファーに読み取られるにつれてデータが徐々に使用可能になる点です。どちらの場合も、現時点で同期的に読み取れるデータは、
一般に、非同期入力を処理するアプリケーションは
アプリケーションを閉じると、アプリケーションの FileStream オブジェクトに関連付けられているすべてのファイルが自動的に閉じられます。ただし、アプリケーションを閉じる前に、非同期で開いた、書き込み保留中のデータのあるすべての FileStream オブジェクトについて
FileStream オブジェクトを再利用するには、
(
FileStream オブジェクトが既に開いている場合、このメソッドを呼び出すと、ファイルは、いったん閉じてから開かれます。前に開かれていたファイルに対する追加のイベント(
ファイルのロックをサポートするシステムでは、"書き込み" モードまたは "更新" モード(
ファイルに対する操作を実行し終えたら、FileStream オブジェクトの
FileStream オブジェクトが既に開いている場合、このメソッドを呼び出すと、ファイルは、いったん閉じてから開かれます。前に開かれていたファイルに対する追加のイベント(
ファイルのロックをサポートするシステムでは、"書き込み" モードまたは "更新" モード(
ファイルに対する操作を実行し終えたら、FileStream オブジェクトの
注意:
このメソッドは、Java® IDataInput インターフェイスの
この値は、ObjectEncoding クラスの定数です。デフォルトでは、AMF3 フォーマットが使用されます。
この値は、次のいずれかの方法で変更されます。
位置は、232 バイトを超える長さのファイルをサポートするために、(uint ではなく)Number として定義されます。このプロパティの値は、常に 253 未満の整数です。この値を小数部を持つ数値に設定した場合は、最も近い整数に切り捨てられます。
ファイルを非同期で読み取ると、
このプロパティは、現在の位置以降、非同期ストリームで読み取るデータの量を指定します。データは、ファイルシステムのページサイズに基づいて、ブロック単位で読み取られます。そのため、ページサイズが 8 KB(8,192 バイト)のコンピューターシステムで
読み取りバッファーからデータを読み取っても、
データが非同期的に読み込まれると、FileStream オブジェクトは
open メソッドで指定した
FileStream オブジェクトの open メソッドの
AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムでサポートされますが、一部のテレビ用 AIR デバイスではサポートされません。また、モバイルデバイスでもサポートされません。
最新の Linux ディストリビューションでは、StorageVolumeInfo オブジェクトは、特定の場所にマウントされた物理ドライブおよびネットワークドライブに対して
最新の Linux ディストリビューションでは、StorageVolumeInfo オブジェクトは、特定の場所にマウントされた物理ドライブおよびネットワークドライブに対して
最新の Linux ディストリビューションでは、StorageVolumeInfo オブジェクトは、特定の場所にマウントされた物理ドライブおよびネットワークドライブに対して
最新の Linux ディストリビューションでは、このメソッドは特定の場所にマウントされた物理ドライブおよびネットワークドライブに対応するオブジェクトを返します。
File クラスには、ファイルシステムについての情報の取得と、操作の実行(ファイルおよびディレクトリのコピーなど)のためのプロパティとメソッドが用意されています。
File オブジェクトを FileStream クラスと組み合わせて使用すると、ファイルの読み取りと書き込みを行うことができます。
File クラスは FileReference クラスを拡張します。FileReference クラス(Flash® Player および Adobe® AIR® で利用可能)はファイルへのポインターを表しますが、File クラスには、セキュリティ上の考慮事項により Flash Player(ブラウザーで実行している SWF)上では公開されない追加のプロパティおよびメソッドがあります。
File クラスには、共通的に使用されるディレクトリの場所を参照するための静的プロパティがあります。それらのプロパティを次に示します。
これらのプロパティには、オペレーティングシステムに応じた意味のある値が設定されています。例えば、Mac OS、Linux および Windows では、ユーザーのデスクトップディレクトリを指すネイティブパスがそれぞれ次のように異なっています。こうした差異を反映して、
ファイル参照時にネイティブパスをリテラル表記すると、そのコードは 1 つのプラットフォームでしか動作しないものになります。例えば、次の File オブジェクトは Windows 上でしか使用できません。
アプリケーション記憶領域ディレクトリは特に有用性が高く、当該 AIR アプリケーション用に固有の記憶領域ディレクトリを示します。これは、
アプリケーションディレクトリは、当該 AIR アプリケーションがインストールされている場所なので、内容を追加したり削除したりしないでください。そのような変更を加えると、AIR アプリケーションが損傷し、アプリケーションの署名が無効になることがあります。AIR は、既定ではユーザーがアプリケーションディレクトリに書き込めるように設計されていません。このディレクトリは、すべてのオペレーティングシステムのすべてのユーザーアカウントから書き込み可能になっていないためです。アプリケーション内部ファイルの書き込み場所としては、アプリケーション記憶領域ディレクトリを使用してください。編集された画像やテキストファイルなど、ユーザーがアプリケーション外で使用する可能性があるファイルに書き込むには、ドキュメントディレクトリを使用します。
URL を指定する場合は、
ネイティブのパスを指定する場合、Windows では、円記号文字またはスラッシュ文字をパス区切り文字としてこの引数で使用できます。Macintosh および Linux では、スラッシュ文字を使用します。ネイティブのパス表記を使用する場合に有効な
ただし、この 2 つの例の場合は、
引数
その上で、
重要:
ディレクトリ選択ダイアログボックスは、他のウィンドウによって「所有されている」(
注意:Android デバイスでは、
ユーザーがファイルを選択すると、
ファイルを開くダイアログボックスは、他のウィンドウによって「所有されている」(
注意:Android デバイスでは、ファイルのダイアログタイトルは設定できません。
ユーザーがファイルを選択すると、
ファイルを開くダイアログボックスは、他のウィンドウによって「所有されている」(
注意:Android デバイスでは、ファイルのダイアログタイトルは設定できません。
ユーザーがファイルを選択すると、
ファイルを保存ダイアログボックスは、他のウィンドウによって「所有されている」(
注意:Android デバイスでは、ファイルのダイアログタイトルは設定できません。
File オブジェクトが既存のファイルまたはディレクトリを表している場合は、標準化によって、実際のファイル名またはディレクトリ名と大文字小文字が一致するようにパスが調整されます。File オブジェクトがシンボリックリンクである場合は、標準化によって、参照先のファイルまたはディレクトリが存在するかどうかにかかわらず、リンクが指しているファイルまたはディレクトリに一致するようにパスが調整されます。小文字と大文字が区別されるファイルシステム(Linux など)では、小文字と大文字が異なるだけの名前のファイルが複数存在すると、
また、Windows では、標準化によって、短いファイル名が長いファイル名に変換されます。
注意:このメソッドでは、ファイル自体がコピーされるのではありません。 単に、
完了後、
このメソッドを使用すると、新しい一意のディレクトリを指定できます。システムに照会してディレクトリが新規かつ一意であることを確認する必要はありません。
デバイスによっては、一時ディレクトリは自動では削除されないため、アプリケーションを閉じる前に削除することを検討してください。
このメソッドを使用すると、新しい一意のファイルを指定できます。システムに照会してファイルが新規かつ一意であることを確認する必要はありません。
一時ファイルは自動では削除されないため、アプリケーションを閉じる前に削除することを検討してください。
相対パスは、2 つ目の(パラメーター)参照を見つけるためにこの参照に追加(解決)されるコンポーネントのリストです。相対パスは、区切り文字 "/" を使用して返されます。
必要に応じて、相対パスに ".." 参照を含めることができますが、そのようなパスが明確なボリューム境界を越えることはありません。
例えば、Windows ではこれは C: ドライブや D: ドライブなどのボリュームのリストです。ディスクが挿入されていない CD または DVD ドライブなどの空のドライブは、この配列に含まれません。Mac OS および Linux の場合、このメソッドは常にマシンの一意のルートディレクトリを返します(「/」ディレクトリ)。
Android ファイルシステムなど、ルートが読み取り可能なファイルシステムでは、返される File オブジェクトのプロパティは実際の値を反映するとは限りません。例えば、Android の
ファイルの名前を変更するには、そのファイルのディレクトリにある別の名前のファイルへのパスを指すように
移動処理によって、可能な場合には必要な親ディレクトリが作成されます。
注意:回復可能なごみ箱フォルダーという概念をサポートしないオペレーティングシステムの場合、ファイルは直ちに削除されます。
注意:回復可能なごみ箱フォルダーという概念をサポートしないオペレーティングシステムの場合、ファイルは直ちに削除されます。
ファイルの名前を変更するには、そのファイルのディレクトリにある別の名前のファイルへのパスを指すように
移動処理によって、可能な場合には必要な親ディレクトリが作成されます。
AIR には、File.openWithDefaultApplication() メソッドで開けないファイルがあります。Windows では、特定のファイル形式のファイル(以下に示す特定の拡張子が付いたファイル)は開けません。Mac OS および Linux では、AIR は以下に指定した特定のアプリケーションで起動するファイルを開けないようにします。
アプリケーションディレクトリのドキュメントは開けません。
次の表に、Windows で使用できないファイル拡張子と、Mac OS および Linux で使用できないアプリケーションを示します。
相対パスを指定した場合、指定した
絶対ファイル参照を指定した場合、メソッドは、そのパスをポイントする File オブジェクトを返します。絶対ファイル参照では、ユーザーのオペレーティングシステムの有効なネイティブパス構文(Windows の
結果として得られたパスは、すべて次のように正規化されます。
パスの区切り文字としては、常にスラッシュ(
Linux では、ファイル名およびディレクトリ名の大文字と小文字は区別されます。
このオブジェクトの
注意:
Android では、アプリケーションディレクトリを示す File オブジェクトの
それぞれの AIR アプリケーションは、永続的な固有のアプリケーション記憶領域ディレクトリを持っています。このディレクトリは、
AIR アプリケーションのアンインストール時に、アプリケーション記憶領域ディレクトリとその中のファイルが削除されるかどうかは、プラットフォームによって異なります。
このオブジェクトの
オペレーティングシステムがデスクトップディレクトリをサポートしていない場合、ファイルシステムの適切なディレクトリが代わりに使用されます。
テレビ用 AIR デバイスには、ユーザーのデスクトップディレクトリという概念がありません。このため、
Windows では、これは My Documents ディレクトリ(例えば C:\Documents and Settings\userName\My Documents)です。Mac OS のデフォルトの位置は /Users/userName/Documents です。Linux のデフォルトの位置は /home/userName/Documents(英語システムの場合)で、プロパティは
オペレーティングシステムがドキュメントディレクトリをサポートしていない場合、ファイルシステムの適切なディレクトリが代わりに使用されます。
テレビ用 AIR デバイスには、ユーザーのドキュメントディレクトリという概念がありません。このため、
このプロパティは、ファイルにダウンロード済みのフラグを付けられるオペレーティングシステム(以下参照)でのみ意味を持ちます。
ファイルにダウンロード済みのフラグが付かないシステム(Linux など)では、このプロパティは意味を持ちません(
値は、参照先のディレクトリがパッケージである場合は
値は、File オブジェクトがシンボリックリンクの場合は
シンボリックリンクを使用すると、ファイルが、ディスク上の別のファイルまたはディレクトリを参照できるようになります。シンボリックリンクは、エイリアス(Macintosh)およびショートカット(Windows)に似ていますが、同じではありません。エイリアスまたはショートカットは常に(ディレクトリではなく)ファイルとして報告され、エイリアスまたはショートカットの読み取りや書き込みを行っても、そのエイリアスまたはショートカットの参照先である元のファイルまたはディレクトリが影響を受けることはありません。これに対し、シンボリックリンクは、通常、参照先のファイルまたはディレクトリと同じように動作します。シンボリックリンクは、ファイルまたはディレクトリとして報告され、シンボリックリンクの読み取りや書き込みを行うと、シンボリックリンク自体ではなく、参照先のファイルまたはディレクトリが影響を受けます。ただし、シンボリックリンクを削除すると、リンクの対象ではなくリンクが削除されます。
シンボリックリンクは Mac® OS®、Linux、および Windows® Vista® でサポートされています。さらに、Windows では、NTFS ファイルシステムで使用される接続点を参照している File オブジェクトの
Macintosh OS および Linux では、これは改行文字(16 進の文字コード 0x0A)です。Windows では、復帰文字(16 進の文字コード 0x0A)の後に改行文字(16 進の文字コード 0x0A) が続いたものです。
直接に
一部の Flex API(SWFLoader クラスの
このプロパティは、
Macintosh OS および Linux では、スラッシュ(/)文字です。 Windows では、円記号(\)です。
注意:ストリングリテラル内で円記号文字を使用する場合は、円記号を 2 回入力してください(例:
File オブジェクトがディレクトリを参照する場合、
一般的に、ディレクトリまたはファイルで使用可能な領域は、ディレクトリまたはファイルを含むボリュームで使用可能な領域と同じです。ただし、使用可能な領域では、割り当ておよびディレクトリごとの制限が考慮される場合があります。
一般に、ボリュームにファイルまたはディレクトリを追加すると、ファイルの実際のサイズまたはディレクトリの内容のサイズよりも大きな領域が必要になります。例えば、オペレーティングシステムでは、インデックス情報を保存するための追加領域が必要になる場合があります。また、必要なディスクセクタにより追加領域が使用される場合があります。さらに、使用可能な領域は動的に変化します。したがって、報告されたすべての領域がファイル記憶域のために割り当てられることを期待するのは不可能です。
有効な値は、
この値は、FileStream クラスの
この URL スキームは、アプリケーションの記憶領域ディレクトリ内のパスへの参照である場合は
(
Windows では、これは "My Documents" ディレクトリの親(例えば C:¥Documents and Settings¥userName)です。Macintosh では、/Users/userName です。 Linux では、/home/userName です。
オペレーティングシステムがユーザーディレクトリをサポートしていない場合、ファイルシステムの適切なディレクトリが代わりに使用されます。
テレビ用 AIR デバイスでは、
次の表に、さまざまなタイプのデバイスについて、
1 Linux には共有ボリュームという概念がありません。
2 Windows では、空のカードリーダーは非リムーバブルデバイスとして表示されます。Mac OS および Linux では、空のカードリーダーはストレージボリュームとして表示されません。
注意:StorageVolume オブジェクトの