パッケージ | flash.filesystem |
クラス | public class File |
継承 | File FileReference EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
File クラスには、ファイルシステムについての情報の取得と、操作の実行(ファイルおよびディレクトリのコピーなど)のためのプロパティとメソッドが用意されています。
File オブジェクトを FileStream クラスと組み合わせて使用すると、ファイルの読み取りと書き込みを行うことができます。
File クラスは FileReference クラスを拡張します。FileReference クラス(Flash® Player および Adobe® AIR® で利用可能)はファイルへのポインターを表しますが、File クラスには、セキュリティ上の考慮事項により Flash Player(ブラウザーで実行している SWF)上では公開されない追加のプロパティおよびメソッドがあります。
File クラスには、共通的に使用されるディレクトリの場所を参照するための静的プロパティがあります。それらのプロパティを次に示します。
-
File.applicationStorageDirectory
- インストールされている各 AIR アプリケーションごとに固有の記憶領域ディレクトリ -
File.applicationDirectory
- アプリケーションがインストールされている(インストールされるアセットがある場合はそれらも含まれる)読み取り専用ディレクトリ -
File.desktopDirectory
- ユーザーのデスクトップディレクトリ -
File.documentsDirectory
- ユーザーのドキュメントディレクトリ -
File.userDirectory
- ユーザーディレクトリ
これらのプロパティには、オペレーティングシステムに応じた意味のある値が設定されています。例えば、Mac OS、Linux および Windows では、ユーザーのデスクトップディレクトリを指すネイティブパスがそれぞれ次のように異なっています。こうした差異を反映して、File.desktopDirectory
プロパティは、プラットフォームに応じた正しいデスクトップディレクトリパスを示すようになっています。異なるプラットフォームでも正しく動作するアプリケーションを作成するために、アプリケーションで他のファイルを使用する際は、これらのプロパティを起点としてください。その上で、resolvePath()
メソッドを使用してパスを調整してください。例えば、次のコードでは、アプリケーション記憶領域ディレクトリ内の preferences.xml ファイルを参照しています。
var prefsFile:File = File.applicationStorageDirectory; prefsFile = prefsFile.resolvePath("preferences.xml");
ファイル参照時にネイティブパスをリテラル表記すると、そのコードは 1 つのプラットフォームでしか動作しないものになります。例えば、次の File オブジェクトは Windows 上でしか使用できません。
new File("C:\Documents and Settings\joe\My Documents\test.txt")
アプリケーション記憶領域ディレクトリは特に有用性が高く、当該 AIR アプリケーション用に固有の記憶領域ディレクトリを示します。これは、File.applicationStorageDirectory
プロパティで定義されています。Mac OS ではこの場所が AIR 3.2 と AIR 3.3 の間に変更されていることに注意してください。
アプリケーションディレクトリは、当該 AIR アプリケーションがインストールされている場所なので、内容を追加したり削除したりしないでください。そのような変更を加えると、AIR アプリケーションが損傷し、アプリケーションの署名が無効になることがあります。AIR は、既定ではユーザーがアプリケーションディレクトリに書き込めるように設計されていません。このディレクトリは、すべてのオペレーティングシステムのすべてのユーザーアカウントから書き込み可能になっていないためです。アプリケーション内部ファイルの書き込み場所としては、アプリケーション記憶領域ディレクトリを使用してください。編集された画像やテキストファイルなど、ユーザーがアプリケーション外で使用する可能性があるファイルに書き込むには、ドキュメントディレクトリを使用します。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
applicationDirectory : File [静的] [読み取り専用]
インストールされたアプリケーションファイルが格納されているフォルダーです。 | File | ||
applicationStorageDirectory : File [静的] [読み取り専用]
アプリケーションのプライベート記憶領域ディレクトリです。 | File | ||
cacheDirectory : File [静的] [読み取り専用]
アプリケーションのキャッシュディレクトリです。 | File | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
creationDate : Date [読み取り専用]
ローカルディスク上に存在するファイルの作成日です。 | FileReference | ||
creator : String [読み取り専用]
Macintosh クリエータータイプのファイルです。このファイルは、Mac OS X より前のバージョンの Mac OS でのみ使用されます。 | FileReference | ||
data : ByteArray [読み取り専用]
load() メソッドの呼び出しが成功した後に読み込まれるファイルからのデータを表す ByteArray オブジェクト。 | FileReference | ||
desktopDirectory : File [静的] [読み取り専用]
ユーザーのデスクトップディレクトリです。 | File | ||
documentsDirectory : File [静的] [読み取り専用]
ユーザーのドキュメントディレクトリです。 | File | ||
downloaded : Boolean
参照先のファイルまたはディレクトリが、インターネット経由でダウンロード済みであるかどうかを示します。 | File | ||
exists : Boolean [読み取り専用]
参照先のファイルまたはディレクトリが存在するかどうかを示します。 | File | ||
extension : String [読み取り専用]
ファイル名拡張子です。 | FileReference | ||
icon : Icon [読み取り専用]
ファイルに対して定義されたアイコンを格納している Icon オブジェクトです。 | File | ||
isDirectory : Boolean [読み取り専用]
参照先がディレクトリであるかどうかを示します。 | File | ||
isHidden : Boolean [読み取り専用]
参照先のファイルまたはディレクトリが "非表示" かどうかを示します。値は、参照先のファイルまたはディレクトリが非表示の場合は true、それ以外の場合は false です。 | File | ||
isPackage : Boolean [読み取り専用]
参照先のディレクトリがパッケージであるかどうかを示します。 | File | ||
isSymbolicLink : Boolean [読み取り専用]
参照がシンボリックリンクであるかどうかを示します。 | File | ||
lineEnding : String [静的] [読み取り専用]
ホストオペレーティングシステムで使用される行終了文字です。 | File | ||
modificationDate : Date [読み取り専用]
ローカルディスク上に存在するファイルの最終変更日です。 | FileReference | ||
name : String [読み取り専用]
ローカルディスク上に存在するファイルの名前です。 | FileReference | ||
nativePath : String
ホストオペレーティングシステムの表現形式に従った完全パスです。 | File | ||
parent : File [読み取り専用]
この File オブジェクトによって参照されているファイルまたはディレクトリを格納しているディレクトリです。 | File | ||
permissionStatus : String [静的] [読み取り専用]
ファイルシステムにアクセスする権限をアプリケーションが付与されたかどうかを判定します。 | File | ||
preventBackup : Boolean
ランタイムでこの File オブジェクトがクラウドにバックアップされないかどうかを示します。 | File | ||
separator : String [静的] [読み取り専用]
ホストオペレーティングシステムのパスコンポーネントの区切り文字です。 | File | ||
size : Number [読み取り専用]
ローカルディスク上に存在するファイルのサイズ(バイト単位)です。 | FileReference | ||
spaceAvailable : Number [読み取り専用]
この File の場所で使用可能な領域(バイト)。 | File | ||
systemCharset : String [静的] [読み取り専用]
ホストオペレーティングシステムで使用されるデフォルトのエンコーディングです。 | File | ||
type : String [読み取り専用]
ファイル形式です。 | FileReference | ||
url : String
このファイルパスの URL です。 | File | ||
userDirectory : File [静的] [読み取り専用]
ユーザーのディレクトリです。 | File |
メソッド | 定義元 | ||
---|---|---|---|
File クラスのコンストラクター関数です。 | File | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
アップロードするファイルを選択できるファイル参照ダイアログボックスを表示します。 | FileReference | ||
ディレクトリ選択ダイアログボックスを表示して、ユーザーがディレクトリを選択できるようにします。 | File | ||
ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを選択できるようにします。 | File | ||
ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを 1 つ以上選択できるようにします。 | File | ||
ファイルを保存ダイアログボックスを表示して、ユーザーがファイルの保存先を選択できるようにします。 | File | ||
[オーバーライド]
保留中の非同期処理をキャンセルします。 | File | ||
File のパスを標準化します。 | File | ||
この File オブジェクトのコピーを返します。 | File | ||
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメーターで指定された場所にコピーします。 | File | ||
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメーターで指定された場所にコピーする処理を開始します。 | File | ||
指定されたディレクトリおよび必要な親ディレクトリを作成します。 | File | ||
[静的]
新しい一時ディレクトリへの参照を返します。 | File | ||
[静的]
新しい一時ファイルへの参照を返します。 | File | ||
ディレクトリを削除します。 | File | ||
ディレクトリを非同期で削除します。 | File | ||
ファイルを削除します。 | File | ||
ファイルを非同期で削除します。 | File | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
リモートサーバーからファイルをダウンロードするためのダイアログボックスを開きます。 | FileReference | ||
この File オブジェクトによって表されるディレクトリ内のファイルおよびディレクトリに対応する File オブジェクトの配列を返します。 | File | ||
この File オブジェクトによって表されるディレクトリの内容に対応する File オブジェクトの配列を非同期で取得します。 | File | ||
2 つの File パス間の相対パスを探します。 | File | ||
[静的]
ファイルシステムのルートディレクトリを列挙している File オブジェクトの配列を返します。 | File | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
ユーザーが選択したローカルファイルの読み込みを開始します。 | FileReference | ||
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメーターで指定された場所に移動します。 | File | ||
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメーターで指定された場所に移動する処理を開始します。 | File | ||
ファイルまたはディレクトリをごみ箱に移動します。 | File | ||
ファイルまたはディレクトリを非同期でごみ箱に移動します。 | File | ||
このファイル形式用としてオペレーティングシステムに登録されているアプリケーションで、ファイルを開きます。 | File | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
[オーバーライド]
ファイルシステムにアクセスする権限を要求します。 | File | ||
path パラメーター(ストリング)に基づいて、この File オブジェクトのパスを基準とした相対的なパスを持つ新しい File オブジェクトを作成します。 | File | ||
ローカルファイルシステムにファイルを保存するためのダイアログボックスを開きます。 | FileReference | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
リモートサーバーへのファイルのアップロードを開始します。 | FileReference | ||
ファイルをエンコードせずに URL へのアップロードを開始します。 | FileReference | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | |||
保留中の非同期処理がキャンセルされると、送出されます。 | File | |||
非同期処理が完了すると、送出されます。 | File | |||
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | |||
getDirectoryListingAsync() メソッドを呼び出した結果、ディレクトリ一覧が得られると送出されます。 | File | |||
upload() または uploadUnencoded() メソッドを呼び出して HTTP を介してデータにアクセスを試み、Adobe AIR で要求のステータスコードを検出して返すことができる場合に送出されます。 | FileReference | |||
アップロードに失敗し、HTTP ステータスコードを使用して失敗を記述することができない場合に送出されます。 | FileReference | |||
非同期ファイル処理中にエラーが発生すると、送出されます。 | File | |||
アップロード処理またはダウンロード処理が開始するときに送出されます。 | FileReference | |||
ファイルシステムにアクセスする権限をアプリケーションから要求したときに送出されます。 | File | |||
ファイルのアップロード処理中またはダウンロード処理中に定期的に送出されます。 | FileReference | |||
操作がセキュリティ制約に違反していると、送出されます。 | File | |||
ユーザーがファイルまたはディレクトリ参照ダイアログボックスからファイルまたはディレクトリを選択すると、送出されます。 | File | |||
ユーザーが browseForOpenMultiple() メソッドの呼び出しによって開かれたダイアログボックスからファイルを選択すると、送出されます。 | File | |||
アップロードの正常終了後、サーバーからデータを受信したときに送出されます。 | FileReference |
applicationDirectory | プロパティ |
applicationDirectory:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
インストールされたアプリケーションファイルが格納されているフォルダーです。
このオブジェクトの url
プロパティは、app
URL スキーム(file
URL スキームではない)を使用します。したがって、url
ストリングの指定は「app:」
(「file:」
)ではない)で始めます。また、File.applicationDirectory
ディレクトリを基準とする相対位置に(resolvePath()
メソッドを使用して)File オブジェクトを作成すると、その File オブジェクトの url
プロパティでも app
URL スキームが使用されます。
注意:app:
URL スキームを使用するパスを持つファイルまたはディレクトリに書き込むことはできません。また、app:
URL スキームを使用するパスを持つファイルやフォルダーの削除または作成を行うこともできません。アプリケーションディレクトリの内容を変更することはセキュリティ上の理由から推奨されません。したがって、一部のプラットフォームではオペレーティングシステムによってブロックされます。アプリケーション固有のデータを格納する必要がある場合は、アプリケーションの記憶領域ディレクトリ(File.applicationStorageDirectory
)を使用することを検討してください。アプリケーションの記憶領域ディレクトリ内のコンテンツがアプリケーション特権機能(AIR API)にアクセスできるようにする必要がある場合は、サンドボックスブリッジを使用してその機能を公開します。
applicationDirectory
プロパティを使用すると、異なるプラットフォームでも動作する方法でアプリケーションディレクトリを参照できます。アプリケーションディレクトリを参照するように File オブジェクトを設定する際、nativePath
または url
プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。
Android では、アプリケーションディレクトリを示す File オブジェクトの nativePath
プロパティは空の文字列です。アプリケーションファイルにアクセスするには、url
プロパティを使用します。
実装
public static function get applicationDirectory():File
関連する API エレメント
applicationStorageDirectory | プロパティ |
applicationStorageDirectory:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
アプリケーションのプライベート記憶領域ディレクトリです。
それぞれの AIR アプリケーションは、永続的な固有のアプリケーション記憶領域ディレクトリを持っています。このディレクトリは、File.applicationStorageDirectory
に初めてアクセスしたときに作成されます。このディレクトリは、アプリケーションおよびユーザーごとに一意に割り当てられます。このディレクトリは、ユーザー固有またはアプリケーション固有のデータを格納するために利用されます。
AIR アプリケーションのアンインストール時に、アプリケーション記憶領域ディレクトリとその中のファイルが削除されるかどうかは、プラットフォームによって異なります。
このオブジェクトの url
プロパティは、app-storage
URL スキーム(file
URL スキームではない)を使用します。したがって、url
ストリングの指定は「app-storage:」
(「file:」
)ではない)で始めます。また、File.applicationStoreDirectory
ディレクトリを基準とする相対位置に(resolvePath()
メソッドを使用して)File オブジェクトを作成すると、その File オブジェクトの url
でも app-storage
URL スキームが使用されます(例を参照)。
applicationStorageDirectory
プロパティを使用すると、異なるプラットフォームでも動作する方法でアプリケーション記憶領域ディレクトリを参照できます。アプリケーション記憶領域ディレクトリを参照するように File オブジェクトを設定する際、nativePath
または url
プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。
注意(Mac OS のみ):Mac App Store 要件に準拠するために、このディレクトリの物理的な場所は AIR 3.2 と AIR 3.3 の間に変更されました。
- 3.2 以前の名前空間:~/Library/Preferences/appid/Local Store/
- 3.3 以降の名前空間:path/Library/Application Support/appid/Local Store/。path は ~/Library/Containers/bundle-id/Data(サンドボックス化した環境の場合)または ~ (サンドボックス化した環境外で実行する場合)
実装
public static function get applicationStorageDirectory():File
例 ( この例の使用方法 )
import flash.filesystem.File; var tempFiles:File = File.applicationStorageDirectory; tempFiles = tempFiles.resolvePath("images/"); trace(tempFiles.url); // app-storage:/images
cacheDirectory | プロパティ |
cacheDirectory:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 3.6 |
アプリケーションのキャッシュディレクトリです。
cacheDirectory
プロパティでは、キャッシュディレクトリを参照できます。アプリケーションでキャッシュディレクトリを使用して、サーバーからダウンロードされたファイルを格納することをお勧めします。キャッシュディレクトリを使用しない場合は、それらのファイルは再生成されます。キャッシュディレクトリに格納すべきファイルの例として、データベースキャッシュファイルや、雑誌、新聞および地図アプリケーションで使用するようなダウンロード可能コンテンツが挙げられます。
キャッシュディレクトリを参照するように File オブジェクトを設定する際、nativePath
または url
プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。
オペレーティングシステムでキャッシュディレクトリがサポートされていない場合、cacheDirectory
は null です。
実装
public static function get cacheDirectory():File
desktopDirectory | プロパティ |
desktopDirectory:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ユーザーのデスクトップディレクトリです。
desktopDirectory
プロパティを使用すると、異なるプラットフォームでも動作する方法でデスクトップディレクトリを参照できます。デスクトップディレクトリを参照するように File オブジェクトを設定する際、nativePath
または url
プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。
オペレーティングシステムがデスクトップディレクトリをサポートしていない場合、ファイルシステムの適切なディレクトリが代わりに使用されます。
AIR for TV デバイスには、ユーザーのデスクトップディレクトリという概念がありません。このため、desktopDirectory
プロパティの参照先は File.userDirectory
プロパティの示すディレクトリと同じ場所です。ユーザーディレクトリは、アプリケーションに固有の場所にあります。
実装
public static function get desktopDirectory():File
例 ( この例の使用方法 )
import flash.filesystem.File; var desktop:File = File.desktopDirectory; var files:Array = desktop.getDirectoryListing(); for (var i:uint = 0; i < files.length; i++) { trace(files[i].nativePath); }
documentsDirectory | プロパティ |
documentsDirectory:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ユーザーのドキュメントディレクトリです。
Windows では、これは My Documents ディレクトリ(例えば C:\Documents and Settings\userName\My Documents)です。Mac OS のデフォルトの位置は /Users/userName/Documents です。Linux のデフォルトの位置は /home/userName/Documents(英語システムの場合)で、プロパティは xdg-user-dirs
設定に従います。
documentsDirectory
プロパティを使用すると、異なるプラットフォームでも動作する方法でドキュメントディレクトリを参照できます。ドキュメントディレクトリを参照するように File オブジェクトを設定する際、nativePath
または url
プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。
オペレーティングシステムがドキュメントディレクトリをサポートしていない場合、ファイルシステムの適切なディレクトリが代わりに使用されます。
AIR for TV デバイスには、ユーザーのドキュメントディレクトリという概念がありません。このため、documentsDirectory
プロパティの参照先は File.userDirectory
プロパティの示すディレクトリと同じ場所です。ユーザーディレクトリは、アプリケーションに固有の場所にあります。
実装
public static function get documentsDirectory():File
例 ( この例の使用方法 )
File.documentsDirectory
プロパティと File.createDirectory()
メソッドを使用して、ユーザーのドキュメントディレクトリに "AIR Test" という名前のディレクトリが確実に存在するようにしています。
import flash.filesystem.File; var directory:File = File.documentsDirectory; directory = directory.resolvePath("AIR Test"); File.createDirectory(directory); trace(directory.exists); // true
downloaded | プロパティ |
downloaded:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
参照先のファイルまたはディレクトリが、インターネット経由でダウンロード済みであるかどうかを示します。
このプロパティは、ファイルにダウンロード済みのフラグを付けられるオペレーティングシステム(以下参照)でのみ意味を持ちます。
- Windows XP Service Pack 2 以降および Windows Vista
- Mac OS 10.5 以降
ファイルにダウンロード済みのフラグが付かないシステム(Linux など)では、このプロパティは意味を持ちません(false
に設定されます)。
実装
public function get downloaded():Boolean
public function set downloaded(value:Boolean):void
関連する API エレメント
exists | プロパティ |
exists:Boolean
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
参照先のファイルまたはディレクトリが存在するかどうかを示します。値は、File オブジェクトが既存のファイルまたはディレクトリを指している場合は true
、それ以外の場合は false
です。
実装
public function get exists():Boolean
例 ( この例の使用方法 )
File.exists
プロパティを使用して、このファイルが存在するかどうかを確認します。
import flash.filesystem.*; var temp:File = File.createTempFile(); trace(temp.exists); // true temp.deleteFile(); trace(temp.exists); // false
icon | プロパティ |
icon:Icon
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルに対して定義されたアイコンを格納している Icon オブジェクトです。Icon オブジェクトは、様々なアイコン状態に対応する BitmapData オブジェクトの配列です。Linux では、Icon オブジェクトにアイコンはありません。Android では、icon
プロパティは null
です。
実装
public function get icon():Icon
例 ( この例の使用方法 )
icon
配列内で高さが最大のイメージを探し、Bitmap オブジェクトをそのイメージに設定する方法を示しています。
import flash.filesystem.File; import flash.display.*; var directory:File = File.documentsDirectory; var bitmaps:Array = directory.icon.bitmaps; var bmpData:BitmapData = new BitmapData(1, 1); for (var i:uint = 0; i < bitmaps.length; i++) { if (bitmaps[i].height > bmpData.height) { bmpData = directory.icon.bitmaps[i]; } } var iconBmp:Bitmap = new Bitmap(bmpData);
isDirectory | プロパティ |
isDirectory:Boolean
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
参照先がディレクトリであるかどうかを示します。値は、File オブジェクトの参照先がディレクトリの場合は true
、それ以外の場合は false
です。
実装
public function get isDirectory():Boolean
例 ( この例の使用方法 )
isDirectory
プロパティを使用して、(ファイルではなく)ディレクトリを参照している File オブジェクトだけを列挙します。
import flash.filesystem.*; var userDirFiles:Array = File.userDirectory.getDirectoryListing(); for (var i:uint = 0; i < userDirFiles.length; i++) { if (userDirFiles[i].isDirectory) { trace(userDirFiles[i].nativePath); } }
isHidden | プロパティ |
isHidden:Boolean
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
参照先のファイルまたはディレクトリが "非表示" かどうかを示します。値は、参照先のファイルまたはディレクトリが非表示の場合は true
、それ以外の場合は false
です。
実装
public function get isHidden():Boolean
例 ( この例の使用方法 )
isHidden
プロパティを使用して非表示のファイルおよびディレクトリを列挙します。
import flash.filesystem.*; var userDirFiles:Array = File.userDirectory.getDirectoryListing(); for (var i:uint = 0; i < userDirFiles.length; i++) { if (userDirFiles[i].isHidden) { trace(userDirFiles[i].nativePath); } }
isPackage | プロパティ |
isPackage:Boolean
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
参照先のディレクトリがパッケージであるかどうかを示します。
値は、参照先のディレクトリがパッケージである場合は true
、それ以外の場合は false
です。File クラスでは、パッケージを直接作成することはできません。
- Macintosh では、ディレクトリをパッケージとして指定して、Finder にディレクトリではなく単一のファイルとして表示することができます。このプロパティは、参照先のディレクトリがパッケージである場合は
true
、そのファイルがディレクトリでない場合、存在しない場合、またはパッケージでない場合はfalse
に設定されます。 - 他のオペレーティングシステムでは、このプロパティは常に
false
に設定されます。
実装
public function get isPackage():Boolean
isSymbolicLink | プロパティ |
isSymbolicLink:Boolean
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
参照がシンボリックリンクであるかどうかを示します。
値は、File オブジェクトがシンボリックリンクの場合は true
、それ以外の場合は false
です。File クラスでは、シンボリックリンクを直接作成することはできません。
シンボリックリンクを使用すると、ファイルが、ディスク上の別のファイルまたはディレクトリを参照できるようになります。シンボリックリンクは、エイリアス(Macintosh)およびショートカット(Windows)に似ていますが、同じではありません。エイリアスまたはショートカットは常に(ディレクトリではなく)ファイルとして報告され、エイリアスまたはショートカットの読み取りや書き込みを行っても、そのエイリアスまたはショートカットの参照先である元のファイルまたはディレクトリが影響を受けることはありません。これに対し、シンボリックリンクは、通常、参照先のファイルまたはディレクトリと同じように動作します。シンボリックリンクは、ファイルまたはディレクトリとして報告され、シンボリックリンクの読み取りや書き込みを行うと、シンボリックリンク自体ではなく、参照先のファイルまたはディレクトリが影響を受けます。ただし、シンボリックリンクを削除すると、リンクの対象ではなくリンクが削除されます。
シンボリックリンクは Mac® OS®、Linux、および Windows® Vista® でサポートされています。さらに、Windows では、NTFS ファイルシステムで使用される接続点を参照している File オブジェクトの isSymbolicLink
プロパティは true
に設定されます。
実装
public function get isSymbolicLink():Boolean
lineEnding | プロパティ |
lineEnding:String
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ホストオペレーティングシステムで使用される行終了文字です。
Macintosh OS および Linux では、これは改行文字(16 進の文字コード 0x0A)です。Windows では、復帰文字(16 進の文字コード 0x0A)の後に改行文字(16 進の文字コード 0x0A) が続いたものです。
実装
public static function get lineEnding():String
例 ( この例の使用方法 )
str
)をテキストファイルに書き込み、File.lineEnding
静的プロパティを使用して、すべての改行文字(コードでは正規表現 /\n/g
で表現)を、ホストオペレーティングシステムで推奨される行終了文字に置き換えます。
import flash.filesystem.*; var str:String = "Hello\n" + "World\n"; str = str.replace(/\n/g, File.lineEnding); var file:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeUTF(str); fileStream.close();
nativePath | プロパティ |
nativePath:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ホストオペレーティングシステムの表現形式に従った完全パスです。Macintosh OS および Linux では、パス区切り文字としてスラッシュ(/)文字を使用します。ただし、Windows では、nativePath
プロパティでパス区切り文字としてスラッシュ(/)を使用するか円記号(¥)を使用するかを設定できます。AIR では、スラッシュが適切な円記号(¥)文字に自動で変換されます。
直接に nativePath
プロパティを設定するコードを記述することは可能ですが、特定プラットフォーム上でしか動作しないコードになる可能性があることに注意してください。例えば、"C:\\Documents and Settings\\bob\\Desktop"
のようなネイティブパスは Windows 上でのみ有効です。それよりも、共通的に使用されるディレクトリを次の静的プロパティで参照するほうがはるかに望ましく、どのプラットフォームでも有効なコードを作成できます。
File.applicationDirectory
File.applicationStorageDirectory
File.desktopDirectory
File.documentsDirectory
File.userDirectory
resolvePath()
メソッドを使用すると、上記の各種ディレクトリからの相対パスを取得できます。
一部の Flex API(SWFLoader クラスの source
プロパティなど)では、URL(File オブジェクトの url
プロパティ)を使用します。ネイティブパス(nativePath
プロパティ)は使用しません。
実装
public function get nativePath():String
public function set nativePath(value:String):void
例外
ArgumentError — path のシンタックスが無効です。
| |
SecurityError — 呼び出し元がアプリケーションのセキュリティサンドボックス内ではありません。
|
例 ( この例の使用方法 )
nativePath
プロパティと url
プロパティの違いを表示します。コメントは、Windows コンピューターでの結果の例を示しています。
import flash.filesystem.File; var docs:File = File.documentsDirectory; trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
parent | プロパティ |
parent:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトによって参照されているファイルまたはディレクトリを格納しているディレクトリです。
parent
プロパティは、参照先のファイルまたはディレクトリが存在しない場合でも、それを格納しているディレクトリを指す File オブジェクトを返します(そのディレクトリが存在しなくても返します)。
このプロパティは、resolvePath("..")
の戻り値と同じですが、ルートディレクトリの親が null
である点が異なります。
実装
public function get parent():File
例 ( この例の使用方法 )
parent
プロパティを使用して、一時ファイルを格納しているディレクトリを表示します。
import flash.filesystem.File; var tempFile:File = File.createTempDirectory(); trace(tempFile.parent.nativePath); tempFile.deleteFile();
permissionStatus | プロパティ |
preventBackup | プロパティ |
preventBackup:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 3.6 |
ランタイムでこの File オブジェクトがクラウドにバックアップされないかどうかを示します。
このプロパティが true
に設定されている場合、このバックアップサービスを提供するプラットフォームで、File オブジェクトがクラウドに自動的にバックアップされません。このプロパティのデフォルト値は false です。
実装
public function get preventBackup():Boolean
public function set preventBackup(value:Boolean):void
separator | プロパティ |
separator:String
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ホストオペレーティングシステムのパスコンポーネントの区切り文字です。
Macintosh OS および Linux では、スラッシュ(/)文字です。 Windows では、円記号(\)です。
注意:ストリングリテラル内で円記号文字を使用する場合は、円記号を 2 回入力してください(例:"directory\\file.ext"
)。ストリングリテラル内では、2 つの円記号によってストリング内の単一の円記号を表します。
実装
public static function get separator():String
例 ( この例の使用方法 )
getRelativePath()
メソッドを使用してディレクトリとファイルとの間の相対パスを取得しています。このコードでは、File.separator
静的プロパティを使用して、パス内のスラッシュ(/)文字をオペレーティングシステムによって使用される区切り文字に置き換えます。区切り文字は、Windows では円記号(\)で、他のオペレーティング システムではスラッシュ文字です。
import flash.filesystem.File; var directory:File = File.documentsDirectory.resolvePath("Apollo Test"); var file:File = File.documentsDirectory.resolvePath("Apollo Test/employees/bob/test.txt"); var relativePath:String = directory.getRelativePath(file); // employees/bob/test.txt relativePath = relativePath.replace(/\//g, File.separator); trace(relativePath);
replace()
メソッドでは、すべてのスラッシュ文字に一致させるために正規表現 /\//g
を使用しています。
spaceAvailable | プロパティ |
spaceAvailable:Number
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.1 |
この File の場所で使用可能な領域(バイト)。
File オブジェクトがディレクトリを参照する場合、spaceAvailable
はファイルで使用できるディレクトリの領域を示します。File オブジェクトがファイルを参照する場合、spaceAvailable
はファイルを拡張できる領域を示します。ファイルの場所が存在しない場合、spaceAvailable
は 0 に設定されます。File オブジェクトがシンボリックリンクを参照する場合、spaceAvailable
はシンボリックリンクが参照する位置で使用可能な領域を示します。
一般的に、ディレクトリまたはファイルで使用可能な領域は、ディレクトリまたはファイルを含むボリュームで使用可能な領域と同じです。ただし、使用可能な領域では、割り当ておよびディレクトリごとの制限が考慮される場合があります。
一般に、ボリュームにファイルまたはディレクトリを追加すると、ファイルの実際のサイズまたはディレクトリの内容のサイズよりも大きな領域が必要になります。例えば、オペレーティングシステムでは、インデックス情報を保存するための追加領域が必要になる場合があります。また、必要なディスクセクタにより追加領域が使用される場合があります。さらに、使用可能な領域は動的に変化します。したがって、報告されたすべての領域がファイル記憶域のために割り当てられることを期待するのは不可能です。
実装
public function get spaceAvailable():Number
systemCharset | プロパティ |
systemCharset:String
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ホストオペレーティングシステムで使用されるデフォルトのエンコーディングです。
有効な値は、"windows-1252"
、"shift-jis"
、"cn-gb"
、"iso-8859-1"
などです。完全な一覧については、「サポートされている文字セット」を参照してください。
この値は、FileStream クラスの readMultiByte()
メソッドおよび writeMultiByte()
メソッドで使用できます。
実装
public static function get systemCharset():String
関連する API エレメント
例 ( この例の使用方法 )
File.systemCharset
静的プロパティを charSet
パラメーターとして使用して、FileStream オブジェクトの readMultiByte()
メソッドを呼び出します。
import flash.filesystem.File; var file:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); var str:String = fileStream.readMultiByte(file.size, File.systemCharset); trace(str);
url | プロパティ |
url:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
このファイルパスの URL です。
この URL スキームは、アプリケーションの記憶領域ディレクトリ内のパスへの参照である場合は「app-storage」
、アプリケーションディレクトリ内のパスへの参照である場合は「app」
、それ以外の場合は「file」
です。
("%20"
ではなく)空白文字を使用して、url
プロパティに値を代入できます。この場合、AIR によってストリングが自動的にエンコードされます(例えば、スペースが "%20"
に変換されます)。
実装
public function get url():String
public function set url(value:String):void
例外
ArgumentError — URL シンタックスが無効です。
| |
SecurityError — 呼び出し元がアプリケーションのセキュリティサンドボックス内ではありません。
|
関連する API エレメント
decodeURI() グローバル関数
decodeURIComponent() グローバル関数
encodeURI() グローバル関数
encodeURIComponent() グローバル関数
例 ( この例の使用方法 )
nativePath
プロパティと url
プロパティの違いを表示します。コメントは、Windows コンピューターでの結果の例を示しています。
import flash.filesystem.File; var docs:File = File.documentsDirectory; trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
userDirectory | プロパティ |
userDirectory:File
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ユーザーのディレクトリです。
Windows では、これは "My Documents" ディレクトリの親(例えば C:¥Documents and Settings¥userName)です。Macintosh では、/Users/userName です。 Linux では、/home/userName です。
userDirectory
プロパティを使用すると、異なるプラットフォームでも動作する方法でユーザーディレクトリを参照できます。File オブジェクトの nativePath
または url
プロパティを直接に設定するコードは、そのパスが有効であるプラットフォーム上でしか動作しません。
オペレーティングシステムがユーザーディレクトリをサポートしていない場合、ファイルシステムの適切なディレクトリが代わりに使用されます。
AIR for TV デバイスでは、userDirectory
プロパティはアプリケーションに固有のユーザーディレクトリを示します。
実装
public static function get userDirectory():File
例 ( この例の使用方法 )
import flash.filesystem.File; var files:Array = File.userDirectory.listDirectory(); for (var i:uint = 0; i < files.length; i++) { trace(files[i].nativePath); }
File | () | コンストラクター |
public function File(path:String = null)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
File クラスのコンストラクター関数です。
path
引数を渡した場合、File オブジェクトは指定されたパスを参照し、そのパスを反映するように nativePath
プロパティと url
プロパティが設定されます。
引数 path
を渡してファイルパスを指定することは可能ですが、特定プラットフォーム上でしか動作しないコードになる可能性があることに注意してください。例えば、"C:¥¥Documents and Settings¥¥bob¥¥Desktop"
のようなネイティブパスや "file:///C:/Documents%20and%20Settings/bob/Desktop"
のような URL は、Windows 上でのみ有効です。それよりも、共通的に使用されるディレクトリを次の静的プロパティで参照するほうがはるかに望ましく、どのプラットフォームでも有効なコードを作成できます。
File.applicationDirectory
File.applicationStorageDirectory
File.desktopDirectory
File.documentsDirectory
File.userDirectory
その上で、resolvePath()
メソッドを使用することにより、上記の各種ディレクトリからの相対パスを取得できます。例えば、次のコードでは、アプリケーション記憶領域ディレクトリ内の settings.xml ファイルを指すように File オブジェクトをセットアップしています。
var file:File = File.applicationStorageDirectory.resolvePath("settings.xml");
重要:path
パラメーターで URL ストリングを渡すと、URL がデコードされ、ファイルパスが解決されます。例えば、ステートメント new File("file:///c:/test/demo%20file%201%2e0.txt")
では、ネイティブパス "c:\test\demo file 1.0.txt" を持つ File オブジェクトが作成されます(URL では、file:、app: または app-storage: スキーム接頭辞が使用されます)。ただし、有効な URL 接頭辞が省略されている場合は、パスストリングはネイティブパスのように扱われ、デコードは実行されません。信頼されていない可能性があるソースから派生したパスを検証するときは、このビヘイビアーを考慮する必要があります。入力ストリングを検証するだけだと、URL デコードでは、攻撃者が検証チェックを回避できる可能性があります。インスタンス化された File オブジェクトの最終パスは必ず検証してください。
var file:File = new File( taintedString ); validate( file.nativePath ); //where validate() is your path validation function
path:String (default = null ) — ファイルのパスです。パスの指定には、URL を使用するか、またはネイティブの(プラットフォーム固有の)パス表記を使用します。
URL を指定する場合は、
ネイティブのパスを指定する場合、Windows では、円記号文字またはスラッシュ文字をパス区切り文字としてこの引数で使用できます。Macintosh および Linux では、スラッシュ文字を使用します。ネイティブのパス表記を使用する場合に有効な
ただし、この 2 つの例の場合は、 |
例外
ArgumentError — path パラメーターのシンタックスが無効です。
|
関連する API エレメント
browseForDirectory | () | メソッド |
public function browseForDirectory(title:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ディレクトリ選択ダイアログボックスを表示して、ユーザーがディレクトリを選択できるようにします。ユーザーがディレクトリを選択すると、select
イベントが送出されます。target
プロパティ(select
イベントで指定)は、選択されたディレクトリを指している File オブジェクトです。
ディレクトリ選択ダイアログボックスは、他のウィンドウによって「所有されている」(owner
プロパティが null 以外に設定されている)ウィンドウの前面に常に表示されるとは限りません。ウィンドウの表示順序の問題を回避するには、このメソッドを呼び出す前に所有されているウィンドウを非表示にします。
注意:Android デバイスでは、browseForDirectory()
はサポートされません。File オブジェクトは cancel イベントを即座に送出します。
パラメーター
title:String — ダイアログボックスのタイトルバーに表示するストリングです。
|
イベント
cancel: — ファイルを開くダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
| |
select: — ユーザーがディレクトリを選択して、ディレクトリ選択ダイアログボックスを閉じると、送出されます。
| |
ioError: — このプラットフォームでは、参照処理はサポートされていません。
|
例外
IllegalOperationError — 参照処理(browseForOpen()、browseForOpenMultiple()、browseForSave()、browseForDirectory())が現在実行中です。
| |
SecurityError — このアプリケーションに必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
File.browseForDirectory()
メソッドを使用して、ユーザーがディレクトリを選択できるようにしています。ディレクトリを選択すると、選択したディレクトリの内容が trace()
の出力に列挙されます。
import flash.filesystem.File; import flash.events.Event; var directory:File = File.documentsDirectory; try { directory.browseForDirectory("Select Directory"); directory.addEventListener(Event.SELECT, directorySelected); } catch (error:Error) { trace("Failed:", error.message); } function directorySelected(event:Event):void { directory = event.target as File; var files:Array = directory.getDirectoryListing(); for(var i:uint = 0; i < files.length; i++) { trace(files[i].name); } }
browseForOpen | () | メソッド |
public function browseForOpen(title:String, typeFilter:Array = null):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを選択できるようにします。
ユーザーがファイルを選択すると、select
イベントが送出されます。target
プロパティ(select
イベントで指定)は、選択されたファイルを指している File オブジェクトです。
ファイルを開くダイアログボックスは、他のウィンドウによって「所有されている」(owner
プロパティが null 以外に設定されている)ウィンドウの前面に常に表示されるとは限りません。ウィンドウの表示順序の問題を回避するには、このメソッドを呼び出す前に所有されているウィンドウを非表示にします。
注意:Android デバイスでは、ファイルのダイアログタイトルは設定できません。title
パラメーターは無視されます。
パラメーター
title:String — ダイアログボックスのタイトルバーに表示するストリングです。
| |
typeFilter:Array (default = null ) — ダイアログボックスに表示するファイルをフィルターにかける場合に使用する FileFilter インスタンスの配列です。このパラメーターを省略すると、すべてのファイルが表示されます。詳細については、FileFilter クラスを参照してください。
|
イベント
cancel: — ファイルを開くダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
| |
select: — ユーザーがファイルを選択して、ファイルを開くダイアログボックスを閉じると、送出されます。
| |
ioError: — このプラットフォームでは、参照処理はサポートされていません。
|
例外
IllegalOperationError — 参照処理(browseForOpen()、browseForOpenMultiple()、browseForSave()、browseForDirectory())が現在実行中です。
| |
SecurityError — このアプリケーションに必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
File.browseForOpen()
メソッドを使用して、ユーザーがテキストファイルを選択できるようにしています。ファイルを選択すると、ファイルのデータがストリングに読み込まれます。
import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; var fileToOpen:File = new File(); var txtFilter:FileFilter = new FileFilter("Text", "*.as;*.css;*.html;*.txt;*.xml"); try { fileToOpen.browseForOpen("Open", [txtFilter]); fileToOpen.addEventListener(Event.SELECT, fileSelected); } catch (error:Error) { trace("Failed:", error.message); } function fileSelected(event:Event):void { var stream:FileStream = new FileStream(); stream.open(event.target, FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); trace(fileData); }
browseForOpenMultiple | () | メソッド |
public function browseForOpenMultiple(title:String, typeFilter:Array = null):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを 1 つ以上選択できるようにします。
ユーザーがファイルを選択すると、selectMultiple
イベントが送出されます。target
プロパティ(select
イベントで指定)は、この File オブジェクトです。browseForOpen()
とは異なり、browseForOpenMultiple()
メソッドを使用すると、この File オブジェクトは、選択されたファイルを参照するために更新されません。その代わり、結果として得られる selectMultiple
イベントには、選択されたファイルの配列が格納されます。
ファイルを開くダイアログボックスは、他のウィンドウによって「所有されている」(owner
プロパティが null 以外に設定されている)ウィンドウの前面に常に表示されるとは限りません。ウィンドウの表示順序の問題を回避するには、このメソッドを呼び出す前に所有されているウィンドウを非表示にします。
注意:Android デバイスでは、ファイルのダイアログタイトルは設定できません。title
パラメーターは無視されます。
パラメーター
title:String — ダイアログボックスのタイトルバーに表示するストリングです。
| |
typeFilter:Array (default = null ) — ダイアログボックスに表示するファイルをフィルターにかける場合に使用する FileFilter インスタンスの配列です。このパラメーターを省略すると、すべてのファイルが表示されます。詳細については、FileFilter クラスを参照してください。
|
イベント
cancel: — ファイルを開くダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
| |
selectMultiple: — ユーザーがファイルを選択して、ファイルを開くダイアログボックスを閉じると、送出されます。
| |
ioError: — このプラットフォームでは、参照処理はサポートされていません。
|
例外
IllegalOperationError — 参照処理(browseForOpen()、browseForOpenMultiple()、browseForSave()、browseForDirectory())が現在実行中です。
| |
SecurityError — このアプリケーションに必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
File.browseForOpenMultiple()
メソッドを使用して、ユーザーが複数のファイルを選択できるようにしています。ファイルを選択すると、選択されたファイルのパスが出力されます。
import flash.filesystem.*; import flash.events.FileListEvent; var docsDir:File = File.documentsDirectory; try { docsDir.browseForOpenMultiple("Select Files"); docsDir.addEventListener(FileListEvent.SELECT_MULTIPLE, filesSelected); } catch (error:Error) { trace("Failed:", error.message); } function filesSelected(event:FileListEvent):void { for (var i:uint = 0; i < event.files.length; i++) { trace(event.files[i].nativePath); } }
browseForSave | () | メソッド |
public function browseForSave(title:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルを保存ダイアログボックスを表示して、ユーザーがファイルの保存先を選択できるようにします。
ユーザーがファイルを選択すると、select
イベントが送出されます。target
プロパティ(select
イベントで指定)は、選択された保存先を指している File オブジェクトです。
ファイルを保存ダイアログボックスは、他のウィンドウによって「所有されている」(owner
プロパティが null 以外に設定されている)ウィンドウの前面に常に表示されるとは限りません。ウィンドウの表示順序の問題を回避するには、このメソッドを呼び出す前に所有されているウィンドウを非表示にします。
注意:Android デバイスでは、ファイルのダイアログタイトルは設定できません。title
パラメーターは無視されます。
パラメーター
title:String — ダイアログボックスのタイトルバーに表示するストリングです。
|
イベント
cancel: — ファイルの保存ダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
| |
select: — ユーザーがファイルを選択して、ファイルの保存ダイアログボックスを閉じると、送出されます。
| |
ioError: — このプラットフォームでは、参照処理はサポートされていません。
|
例外
IllegalOperationError — 参照処理(browseForOpen()、browseForOpenMultiple()、browseForSave()、browseForDirectory())が現在実行中です。
| |
SecurityError — このアプリケーションに必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
File.browseForSave()
メソッドを使用して、ユーザーがファイルを保存するためのパスを選択できるようにしています。ファイルを選択すると、選択したファイルパスにデータが保存されます。
import flash.filesystem.*; import flash.events.Event; var docsDir:File = File.documentsDirectory; try { docsDir.browseForSave("Save As"); docsDir.addEventListener(Event.SELECT, saveData); } catch (error:Error) { trace("Failed:", error.message); } function saveData(event:Event):void { var newFile:File = event.target as File; var str:String = "Hello."; if (!newFile.exists) { var stream:FileStream = new FileStream(); stream.open(newFile, FileMode.WRITE); stream.writeUTFBytes(str); stream.close(); } }
cancel | () | メソッド |
canonicalize | () | メソッド |
public function canonicalize():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
File のパスを標準化します。
File オブジェクトが既存のファイルまたはディレクトリを表している場合は、標準化によって、実際のファイル名またはディレクトリ名と大文字小文字が一致するようにパスが調整されます。File オブジェクトがシンボリックリンクである場合は、標準化によって、参照先のファイルまたはディレクトリが存在するかどうかにかかわらず、リンクが指しているファイルまたはディレクトリに一致するようにパスが調整されます。小文字と大文字が区別されるファイルシステム(Linux など)では、小文字と大文字が異なるだけの名前のファイルが複数存在すると、canonicalize()
メソッドは(ファイルシステムによって指定された順序で)最初に発見されたファイルと一致するようにパスを調整します。
また、Windows では、標準化によって、短いファイル名が長いファイル名に変換されます。
例 ( この例の使用方法 )
canonicalize()
メソッドを使用して、大文字小文字が区別された正しいディレクトリ名を確認する方法を示しています。この例を実行する前に、ローカルコンピューターのデスクトップ上に AIR Test という名前のディレクトリを作成してください。
import flash.filesystem.*; var path:File = File.desktopDirectory.resolvePath("air test"); trace(path.nativePath); path.canonicalize(); trace(path.nativePath); // ...\AIR Test
canonicalize()
メソッドを使用して、Windows ディレクトリの短い名前に基づいて長い名前を確認する方法を示しています。この例では、C: ドライブのルートに AIR Test という名前のディレクトリが存在し、このディレクトリに対してシステムが短い名前 AIR~1 を割り当てていることを前提としています。
import flash.filesystem.*; var path:File = new File(); path.nativePath = "C:\\AIR~1"; path.canonicalize(); trace(path.nativePath); // C:\AIR Test
clone | () | メソッド |
copyTo | () | メソッド |
public function copyTo(newLocation:FileReference, overwrite:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation
パラメーターで指定された場所にコピーします。コピー処理によって、可能な場合には必要な親ディレクトリが作成されます。copyTo() を使用してファイルを上書きすると、ファイルの属性も上書きされます。
パラメーター
newLocation:FileReference — 新しいファイルの宛先の場所です。この File オブジェクトは、結果として得られる(コピーされる)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。
| |
overwrite:Boolean (default = false ) — false の場合、target パラメーターで指定されたファイルが既に存在すると、コピーが失敗します。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。
|
例外
IOError — ソースが存在しないか、宛先が存在し、かつ overwrite が false であるか、ソースをターゲットにコピーできなかったか、またはソースおよび宛先が同じファイルまたはフォルダーを参照し、かつ overwrite が true に設定されています。 Windows では、開いているファイルや、開いているファイルが格納されているディレクトリをコピーすることはできません。
| |
SecurityError — このアプリケーションに、コピー先に書き込むために必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
copyTo()
メソッドを使用してファイルをコピーする方法を示しています。このコードを実行する前に、ローカルコンピューターのドキュメントディレクトリ内の AIR Test サブディレクトリに test1.txt というファイルを作成しておく必要があります。結果として得られるコピーファイルには test2.txt という名前が付けられ、同じ AIR Test サブディレクトリに置かれます。overwrite
パラメーターを true
に設定すると、test2.txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。
import flash.filesystem.File; import flash.events.Event; var sourceFile:FileReference = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:FileReference = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); if (sourceFile.copyTo(destination, true)) { trace("Done."); }
copyTo()
メソッドを使用してファイルをコピーする方法を示しています。このコードを実行する前に、ローカルコンピューターのホームディレクトリ内の AIR Test サブディレクトリに test1.txt というファイルを作成しておく必要があります。結果として得られるコピーファイルには、test2.txt という名前が付けられます。try
ステートメントと catch
ステートメントは、エラーへの対処方法を示しています。
import flash.filesystem.File; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); try { sourceFile.copyTo(destination, true); } catch (error:Error) { trace("Error:", error.message); }
copyToAsync | () | メソッド |
public function copyToAsync(newLocation:FileReference, overwrite:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination
パラメーターで指定された場所にコピーする処理を開始します。
完了後、complete
イベント(成功)または ioError
イベント(失敗)が送出されます。コピー処理によって、可能な場合には必要な親ディレクトリが作成されます。
パラメーター
newLocation:FileReference — 新しいファイルの宛先の場所です。この File オブジェクトは、結果として得られる(コピーされる)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。
| |
overwrite:Boolean (default = false ) — false の場合、target ファイルで指定されたファイルが既に存在すると、コピーが失敗します。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。
|
イベント
complete: — ファイルまたはディレクトリが正常にコピーされると送出されます。
| |
ioError: — ソースが存在しないか、宛先が存在し、かつ overwrite が false であるか、ソースをターゲットにコピーできなかったか、またはソースおよび宛先が同じファイルまたはフォルダーを参照し、かつ overwrite が true に設定されています。 Windows では、開いているファイルや、開いているファイルが格納されているディレクトリをコピーすることはできません。
|
例外
SecurityError — このアプリケーションに、コピー先に書き込むために必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
copyToAsync()
メソッドを使用してファイルをコピーする方法を示しています。このコードを実行する前に、ローカルコンピューターのドキュメントディレクトリ内の AIR Test サブディレクトリに test1.txt というファイルを作成しておく必要があります。結果として得られるコピーファイルには test2.txt という名前が付けられ、同じ AIR Test サブディレクトリに置かれます。overwrite
パラメーターを true
に設定すると、test2.txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。
import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); sourceFile.copyToAsync(destination, true); sourceFile.addEventListener(Event.COMPLETE, fileCopiedHandler); function fileCopiedHandler(event:Event):void { trace("Done."); }
createDirectory | () | メソッド |
public function createDirectory():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定されたディレクトリおよび必要な親ディレクトリを作成します。ディレクトリがすでに存在する場合は、何も行われません。
例外
IOError — ディレクトリが存在せず、作成できませんでした。
| |
SecurityError — このアプリケーションに必要な権限がありません。
|
例 ( この例の使用方法 )
createDirectory()
メソッドを呼び出すことによって、ファイルを移動する前に AIR Test ディレクトリが作成されます。
import flash.filesystem.*; var source:File = File.desktopDirectory.resolvePath("test.txt"); var target:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var targetParent:File = target.parent; targetParent.createDirectory(); source.moveTo(target, true);
createTempDirectory | () | メソッド |
public static function createTempDirectory():File
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
新しい一時ディレクトリへの参照を返します。これは、システムの一時ディレクトリパスに作成される新しいディレクトリです。
このメソッドを使用すると、新しい一意のディレクトリを指定できます。システムに照会してディレクトリが新規かつ一意であることを確認する必要はありません。
デバイスによっては、一時ディレクトリは自動では削除されないため、アプリケーションを閉じる前に削除することを検討してください。
戻り値File — 新しい一時ディレクトリを参照している File オブジェクトです。
|
関連する API エレメント
例 ( この例の使用方法 )
createTempFile()
メソッドを使用して新しい一時ディレクトリへの参照を取得します。
import flash.File; var temp:File = File.createTempDirectory(); trace(temp.nativePath);
createTempFile | () | メソッド |
public static function createTempFile():File
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
新しい一時ファイルへの参照を返します。これは、システムの一時ディレクトリパスに作成される新しいファイルです。
このメソッドを使用すると、新しい一意のファイルを指定できます。システムに照会してファイルが新規かつ一意であることを確認する必要はありません。
一時ファイルは自動では削除されないため、アプリケーションを閉じる前に削除することを検討してください。
戻り値File — 新しい一時ファイルを参照している File オブジェクトです。
|
関連する API エレメント
例 ( この例の使用方法 )
createTempFile()
メソッドを使用して新しい一時ファイルへの参照を取得します。
import flash.File; var temp:File = File.createTempFile(); trace(temp.nativePath);
deleteDirectory | () | メソッド |
public function deleteDirectory(deleteDirectoryContents:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ディレクトリを削除します。このファイルが実際にディレクトリに対するシンボリックリンクの場合は、ディレクトリではなくこのリンクが削除されます。
パラメーター
deleteDirectoryContents:Boolean (default = false ) — ファイルまたはサブディレクトリが格納されているディレクトリを削除するかどうかを指定します。false の場合、ディレクトリにファイルまたはサブディレクトリが格納されていると、このメソッドの呼び出しで例外がスローされます。
|
例外
IOError — ディレクトリが存在しないか、削除できませんでした。Windows では、開いているファイルのあるディレクトリを削除することはできません。
| |
SecurityError — このアプリケーションに、ディレクトリを削除するために必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
deleteDirectory()
メソッドを使用してこのディレクトリを削除します。
import flash.filesystem.File; var directory:File = File.documentsDirectory.resolvePath("Empty Junk Directory/"); File.createDirectory(directory); trace(directory.exists); // true directory.deleteDirectory(); trace(directory.exists); // false
deleteDirectoryAsync | () | メソッド |
public function deleteDirectoryAsync(deleteDirectoryContents:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ディレクトリを非同期で削除します。このファイルが実際にディレクトリに対するシンボリックリンクの場合は、ディレクトリではなくこのリンクが削除されます。
パラメーター
deleteDirectoryContents:Boolean (default = false ) — ファイルまたはサブディレクトリが格納されているディレクトリを削除するかどうかを指定します。false の場合、ディレクトリにファイルまたはサブディレクトリが格納されていると、ioError イベントが送出されます。
|
イベント
complete: — ディレクトリが正常に削除されると送出されます。
| |
ioError: — ディレクトリが存在しないか、削除できませんでした。Windows では、開いているファイルのあるディレクトリを削除することはできません。
|
例外
SecurityError — このアプリケーションに、ディレクトリを削除するために必要な権限がありません。
|
関連する API エレメント
deleteFile | () | メソッド |
public function deleteFile():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルを削除します。このファイルが実際にシンボリックリンクの場合は、ターゲットファイルではなくこのリンクが削除されます。
例外
IOError — ファイルが存在しないか、削除できませんでした。Windows では、現在開いているファイルを削除することはできません。
| |
SecurityError — このアプリケーションに、ファイルを削除するために必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
deleteFile()
メソッドを呼び出して一時ファイルを削除します。
import flash.filesystem.*; var file:File = File.createTempFile(); trace(file.exists); // true file.deleteFile(); trace(file.exists); // false
deleteFileAsync | () | メソッド |
public function deleteFileAsync():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルを非同期で削除します。このファイルが実際にシンボリックリンクの場合は、ターゲットファイルではなくこのリンクが削除されます。
イベント
complete: — ファイルが正常に削除されると送出されます。
| |
ioError: — ファイルが存在しないか、削除できませんでした。Windows では、現在開いているファイルを削除することはできません。
|
例外
SecurityError — このアプリケーションに、ファイルを削除するために必要な権限がありません。
|
関連する API エレメント
getDirectoryListing | () | メソッド |
public function getDirectoryListing():Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトによって表されるディレクトリ内のファイルおよびディレクトリに対応する File オブジェクトの配列を返します。このメソッドは、サブディレクトリの内容は調べません。
戻り値Array — File オブジェクトの配列です。
|
関連する API エレメント
例 ( この例の使用方法 )
getDirectoryListing()
メソッドを使用してユーザーディレクトリの内容を列挙する方法を示しています。
import flash.filesystem.File; var directory:File = File.userDirectory; var list:Array = directory.getDirectoryListing(); for (var i:uint = 0; i < list.length; i++) { trace(list[i].nativePath); }
getDirectoryListingAsync | () | メソッド |
public function getDirectoryListingAsync():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトによって表されるディレクトリの内容に対応する File オブジェクトの配列を非同期で取得します。
イベント
ioError: — このディレクトリを読み取るために必要なアクセス権がないか、ディレクトリが存在しません。
| |
directoryListing: — ディレクトリの内容が正常に列挙されました。contents イベントには files プロパティが含まれており、これは結果の Files オブジェクトの配列です。
|
関連する API エレメント
例 ( この例の使用方法 )
getDirectoryListingAsync()
メソッドを使用してユーザーディレクトリの内容を列挙する方法を示しています。
import flash.filesystem.File; import flash.events.FileListEvent; var directory:File = File.userDirectory; directory.getDirectoryListingAsync(); directory.addEventListener(FileListEvent.DIRECTORY_LISTING, directoryListingHandler); function directoryListingHandler(event:FileListEvent):void { var list:Array = event.files; for (var i:uint = 0; i < list.length; i++) { trace(list[i].nativePath); } }
getRelativePath | () | メソッド |
public function getRelativePath(ref:FileReference, useDotDot:Boolean = false):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
2 つの File パス間の相対パスを探します。
相対パスは、2 つ目の(パラメーター)参照を見つけるためにこの参照に追加(解決)されるコンポーネントのリストです。相対パスは、区切り文字 "/" を使用して返されます。
必要に応じて、相対パスに ".." 参照を含めることができますが、そのようなパスが明確なボリューム境界を越えることはありません。
パラメーター
ref:FileReference — パスを指定する File オブジェクトです。
| |
useDotDot:Boolean (default = false ) — 結果として得られる相対パスで ".." コンポーネントを使用できるかどうかを指定します。
|
String — このファイル(またはディレクトリ)と ref ファイル(またはディレクトリ)との間の相対パス(可能な場合)、または null です。
|
例外
ArgumentError — 参照が null です。
| |
SecurityError — 呼び出し元がアプリケーションのセキュリティサンドボックス内ではありません。
|
getRootDirectories | () | メソッド |
public static function getRootDirectories():Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルシステムのルートディレクトリを列挙している File オブジェクトの配列を返します。
例えば、Windows ではこれは C: ドライブや D: ドライブなどのボリュームのリストです。ディスクが挿入されていない CD または DVD ドライブなどの空のドライブは、この配列に含まれません。Mac OS および Linux の場合、このメソッドは常にマシンの一意のルートディレクトリを返します(「/」ディレクトリ)。
Android ファイルシステムなど、ルートが読み取り可能なファイルシステムでは、返される File オブジェクトのプロパティは実際の値を反映するとは限りません。例えば、Android の spaceAvailable
プロパティでは 0 がレポートされます。
Array — ルートディレクトリを列挙している File オブジェクトの配列。
|
例 ( この例の使用方法 )
import flash.filesystem.File; var rootDirs:Array = File.getRootDirectories(); for (var i:uint = 0; i < rootDirs.length; i++) { trace(rootDirs[i].nativePath); }
moveTo | () | メソッド |
public function moveTo(newLocation:FileReference, overwrite:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination
パラメーターで指定された場所に移動します。
ファイルの名前を変更するには、そのファイルのディレクトリにある別の名前のファイルへのパスを指すように destination
パラメーターを設定します。
移動処理によって、可能な場合には必要な親ディレクトリが作成されます。
パラメーター
newLocation:FileReference — 移動先の場所です。このオブジェクトは、結果として得られる(移動される)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。
| |
overwrite:Boolean (default = false ) — false の場合、target ファイルが既に存在すると移動が失敗します。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。
|
例外
IOError — ソースが存在しないか、宛先が存在し、かつ overwrite が false に設定されているか、ソースファイルまたはディレクトリをターゲットの場所に移動できなかったか、またはソースおよび宛先が同じファイルまたはフォルダーを参照し、かつ overwrite が true に設定されています。Windows では、開いているファイルや、開いているファイルが格納されているディレクトリを移動することはできません。
| |
SecurityError — このアプリケーションに、ファイルを移動するために必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
moveTo()
メソッドを使用してファイルの名前を変更する方法を示しています。元のファイル名は test1.txt で、変更後のファイル名は test2.txt です。ソースと宛先の File オブジェクトは両方とも同じディレクトリ(ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリ)を指しているため、この moveTo()
メソッドでは、ファイルが新しいディレクトリに移動されるのではなく、ファイルの名前が変更されます。このコードを実行する前に、ローカルコンピューターのドキュメントディレクトリ内の AIR Test サブディレクトリに test1.txt というファイルを作成しておく必要があります。overwrite
パラメーターを true
に設定すると、test2.txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。
import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("Apollo Test/test2.txt"); try { sourceFile.moveTo(destination, true); } catch (error:Error) { trace("Error:" + error.message); }
moveTo()
メソッドを使用してファイルを移動する方法を示しています。元のファイルはユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリに格納されている test1.txt ファイルであり、このファイルが Results サブディレクトリに移動されます。このコードを実行する前に、ローカルコンピューターのホームディレクトリ内の AIR Test サブディレクトリに test1.txt というファイルを作成しておく必要があります。try
ステートメントと catch
ステートメントは、エラーへの対処方法を示しています。
import flash.filesystem.File; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/Results/test1.txt"); try { sourceFile.moveTo(destination, true); } catch (error:Error) { trace("Error:" + error.message); }
moveToAsync | () | メソッド |
public function moveToAsync(newLocation:FileReference, overwrite:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation
パラメーターで指定された場所に移動する処理を開始します。
ファイルの名前を変更するには、そのファイルのディレクトリにある別の名前のファイルへのパスを指すように destination
パラメーターを設定します。
移動処理によって、可能な場合には必要な親ディレクトリが作成されます。
パラメーター
newLocation:FileReference — 移動先の場所です。このオブジェクトは、結果として得られる(移動される)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。
| |
overwrite:Boolean (default = false ) — false の場合、target ファイルが既に存在すると移動が失敗します。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。
|
イベント
complete: — ファイルまたはディレクトリが正常に移動されると送出されます。
| |
ioError: — ソースが存在しないか、宛先が存在し overwrite が false であるか、またはソースをターゲットに移動できなかったか、またはソースと宛先が同じファイルまたはフォルダーを参照し overwrite が true に設定されています。Windows では、開いているファイルや、開いているファイルが格納されているディレクトリを移動することはできません。
|
例外
SecurityError — このアプリケーションに、ファイルを移動するために必要な権限がありません。
|
関連する API エレメント
例 ( この例の使用方法 )
moveToAsync()
メソッドを使用してファイルの名前を変更する方法を示しています。元のファイル名は test1.txt で、変更後の名前は test2.txt です。ソースと宛先の File オブジェクトは両方とも同じディレクトリ(ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリ)を指しているため、この moveToAsync()
メソッドでは、ファイルが新しいディレクトリに移動されるのではなく、ファイルの名前が変更されます。このコードを実行する前に、ローカルコンピューターのドキュメントディレクトリ内の Apollo Test サブディレクトリに test1.txt というファイルを作成しておく必要があります。overwrite
パラメーターを true
に設定すると、test2.txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。
import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("Apollo Test/test2.txt"); sourceFile.moveToAsync(destination, true); sourceFile.addEventListener(Event.COMPLETE, fileMoveCompleteHandler); function fileMoveCompleteHandler(event:Event):void { trace("Done.") }
moveToTrash | () | メソッド |
public function moveToTrash():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルまたはディレクトリをごみ箱に移動します。
注意:回復可能なごみ箱フォルダーという概念をサポートしないオペレーティングシステムの場合、ファイルは直ちに削除されます。
例外
IOError — 操作がオペレーティングシステムによって許可されなかったか、ファイルまたはディレクトリが存在しません。Windows では、開いているファイルや、現在開いているファイルが格納されているディレクトリを移動することはできません。
| |
SecurityError — このアプリケーションに、ファイルをごみ箱に移動するために必要な権限がありません。
|
関連する API エレメント
moveToTrashAsync | () | メソッド |
public function moveToTrashAsync():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ファイルまたはディレクトリを非同期でごみ箱に移動します。
注意:回復可能なごみ箱フォルダーという概念をサポートしないオペレーティングシステムの場合、ファイルは直ちに削除されます。
イベント
ioError: — 操作がオペレーティングシステムによって許可されなかったか、ファイルまたはディレクトリが存在しません。Windows では、開いているファイルや、現在開いているファイルが格納されているディレクトリを移動することはできません。
| |
complete: — ファイルまたはディレクトリが正常にゴミ箱に移動されると送出されます。
|
例外
SecurityError — このアプリケーションに、ファイルをごみ箱に移動するために必要な権限がありません。
|
関連する API エレメント
openWithDefaultApplication | () | メソッド |
public function openWithDefaultApplication():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 2 |
このファイル形式用としてオペレーティングシステムに登録されているアプリケーションで、ファイルを開きます。
AIR には、File.openWithDefaultApplication() メソッドで開けないファイルがあります。Windows では、特定のファイル形式のファイル(以下に示す特定の拡張子が付いたファイル)は開けません。Mac OS および Linux では、AIR は以下に指定した特定のアプリケーションで起動するファイルを開けないようにします。openWithDefaultApplication()
メソッドを使用して、これらのファイルを開こうとすると、例外が発生します。ただし、ネイティブインストーラー(拡張デスクトッププロファイルアプリケーション)でインストールした AIR アプリケーションは、これらの制限を受けないので、すべての形式のファイルを開くことができます。
アプリケーションディレクトリのドキュメントは開けません。
次の表に、Windows で使用できないファイル拡張子と、Mac OS および Linux で使用できないアプリケーションを示します。
Windows ドキュメントの拡張子 | 種類 | 対応する Mac OS アプリケーション | 対応する Linux アプリケーション |
---|---|---|---|
bat | バッチファイルコマンド | ターミナル | デフォルトアプリケーションなし |
cmd | DOS および Windows コマンドファイル | ターミナル | デフォルトアプリケーションなし |
com | コマンド | ターミナル | デフォルトアプリケーションなし |
csh | UNIX csh シェルスクリプト | ターミナル | /bin/csh |
破線 | UNIX dash シェルスクリプト | ターミナル | /bin/dash |
ksh | UNIX ksh シェルスクリプト | ターミナル | /bin/ksh |
sh | UNIX シェルスクリプト | ターミナル | /bin/bash |
tcsh | UNIX tcsh シェルスクリプト | ターミナル | /bin/tcsh |
zsh | UNIX zsh シェルスクリプト | ターミナル | /bin/zsh |
exe | 実行可能ファイル | 実行可能ビット、.app 拡張子 | /lib/ld.so |
lnk | Windows ショートカットファイル | 実行可能ビット、.app 拡張子 | Linux のリンク、実行可能なビットセット、デフォルトアプリケーションなし |
pif | プログラム情報ファイル | 実行可能ビット、.app 拡張子 | N/A |
reg | Windows レジストリデータファイル用の登録情報/登録キー | N/A | N/A |
scf | Windows Explorer のコマンド | ScriptEditor、AutomatorRunner | N/A |
shb、shs | シェルスクラップオブジェクトファイル | N/A | N/A |
prg | プログラムファイル | N/A | N/A |
vb、vbe、vbs | VBScript ファイル | N/A | N/A |
vsmacros | Visual Studio .NET バイナリベースのマクロプロジェクト | N/A | N/A |
ws、wsc、wsf、wsh | Windows スクリプトファイル | ScriptEditor、AutomatorRunner | N/A |
fxp | コンパイル済み Fox Pro ソースコード | N/A | N/A |
mas | Microsoft Access ストアドプロシージャ | N/A | N/A |
scr | Windows スクリーンセーバー | N/A | N/A |
py、pyc | Python スクリプトファイル | Python | Python |
pl | Perl スクリプトファイル | ターミナル | perl |
cgi | Common Gateway Interface(CGI)スクリプトファイル | ターミナル | perl |
msi、msm、msp、mst、idt、cub、pcp | Windows インストーラーファイル | インストーラー | N/A |
job | Windows タスクスケジューラーのタスクオブジェクト | N/A | N/A |
jar、js、jse | Java アーカイブファイル、JavaScript ファイル、JScript エンコードスクリプトファイル | JarLauncher | jar |
url | インターネットショートカット | N/A | N/A |
hta | HTML アプリケーション | N/A | N/A |
Mac OS X のみ | 種類 | Mac OS X アプリケーション | 対応する Linux アプリケーション |
---|---|---|---|
N/A | Mac OS X Java アプレット | AppletLauncher | N/A |
N/A | Mac OS X AppleScript プラグイン | systemevents | N/A |
N/A | Mac OS X ウィジェット | dock、dashboardlauncher | N/A |
Linux 専用のドキュメント拡張子 | 種類 | 対応する Mac OS X アプリケーション | Linux アプリケーション |
---|---|---|---|
rb | Ruby シェルスクリプト | N/A | ruby |
desktop | デスクトップファイルおよびショートカット | N/A | デフォルトアプリケーションなし |
directory | ディレクトリファイルおよびショートカット | N/A | デフォルトアプリケーションなし |
例外
Error — (Mac OS および Linux)ファイルを開くことができるアプリケーションが見つかりません。(Windows では、アプリケーションが関連付けられていないファイルを開こうとすると警告なしに例外なく失敗します。)
| |
IllegalOperationError — このファイルは、アプリケーションディレクトリにあるか、使用できないファイル形式です。このエラーは、ネイティブアプリケーションインストーラー(拡張デスクトップアプリケーション)によってインストールされた AIR アプリケーションには適用されません。
| |
IOError — ファイルが存在しないか、このファイルを開くことのできるアプリケーションが登録されていません。
| |
ReferenceError — ファイルが存在しません。
|
関連する API エレメント
例 ( この例の使用方法 )
import flash.filesystem.File; import flash.net.FileFilter; var file:File = File.documentsDirectory; var mp3Filter:FileFilter = new FileFilter("MP3 Files", "*.mp3"); file.browseForOpen("Open", [mp3Filter]); file.addEventListener(Event.SELECT, fileSelected); function fileSelected(e:Event):void { file.openWithDefaultApplication(); }
requestPermission | () | メソッド |
override public function requestPermission():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 24.0 |
ファイルシステムにアクセスする権限を要求します。
イベント
PermissionStatus: — 要求された権限がユーザーによって付与/拒否されたときに送出されます。
|
resolvePath | () | メソッド |
public function resolvePath(path:String):File
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
path
パラメーター(ストリング)に基づいて、この File オブジェクトのパスを基準とした相対的なパスを持つ新しい File オブジェクトを作成します。
path
パラメーターとして相対パスまたは絶対パスを使用できます。
相対パスを指定した場合、指定した path
は File オブジェクトのパスの末尾に「追加」されます。ただし、「..」を path
で使用すると、File オブジェクトの子ではないパスが結果として返されることがあります。結果として得られる参照は、実際のファイルシステムの場所を参照していなくても構いません。
絶対ファイル参照を指定した場合、メソッドは、そのパスをポイントする File オブジェクトを返します。絶対ファイル参照では、ユーザーのオペレーティングシステムの有効なネイティブパス構文(Windows の「C:\\test」
など)を使用する必要があります。URL(「file:///c:/test」
など)は path
パラメーターには使用しないでください。
結果として得られたパスは、すべて次のように正規化されます。
- すべての "."エレメントは無視されます。
- すべての ".."エレメントは、その親エントリを使用します。
- ".." 参照がファイルシステムのルートまたはアプリケーションの永続記憶領域のルートに達している場合、そのノードを越えることはありません。これは無視されます。
パスの区切り文字としては、常にスラッシュ(/
)を使用してください。Windows では、バックスラッシュ(¥
)文字も使用できますが、推奨されません。バックスラッシュ文字を使用すると、アプリケーションが他のプラットフォームで動作しない場合があります。
Linux では、ファイル名およびディレクトリ名の大文字と小文字は区別されます。
パラメーター
path:String — この File オブジェクトのパスに追加するパス(path パラメーターが相対パスである場合)、または返すパス(path パラメーターが絶対パスである場合)。
|
File — 結果として得られたパスを示す新しい File オブジェクト。
|
cancel | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.CANCEL
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
保留中の非同期処理がキャンセルされると、送出されます。
Event.CANCEL
定数は、type
プロパティ(cancel
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 操作をキャンセルするオブジェクトへの参照です。 |
complete | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.COMPLETE
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
非同期処理が完了すると、送出されます。
Event.COMPLETE
定数は、type
プロパティ(complete
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 読み込みが完了したネットワークオブジェクトです。 |
directoryListing | イベント |
flash.events.FileListEvent
プロパティ FileListEvent.type =
flash.events.FileListEvent.DIRECTORY_LISTING
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
getDirectoryListingAsync()
メソッドを呼び出した結果、ディレクトリ一覧が得られると送出されます。
FileListEvent.DIRECTORY_LISTING
定数は、type
プロパティ(directoryListing
イベントのイベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
files | ファイルまたはディレクトリを表す File オブジェクトの配列が見つかりました。 |
target | FileListEvent オブジェクトです。 |
関連する API エレメント
ioError | イベント |
flash.events.IOErrorEvent
プロパティ IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
非同期ファイル処理中にエラーが発生すると、送出されます。
type
プロパティ(ioError
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
permissionStatus | イベント |
flash.events.PermissionEvent
プロパティ PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 24.0 |
ファイルシステムにアクセスする権限をアプリケーションから要求したときに送出されます。status
プロパティの値を確認すると、権限が付与されたか拒否されたかを判定できます。
関連する API エレメント
securityError | イベント |
flash.events.SecurityErrorEvent
プロパティ SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
操作がセキュリティ制約に違反していると、送出されます。
SecurityErrorEvent.SECURITY_ERROR
定数は、type
プロパティ(securityError
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
select | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.SELECT
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ユーザーがファイルまたはディレクトリ参照ダイアログボックスからファイルまたはディレクトリを選択すると、送出されます。
Event.SELECT
定数は、type
プロパティ(select
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | アイテムが選択されたオブジェクトです。 |
selectMultiple | イベント |
flash.events.FileListEvent
プロパティ FileListEvent.type =
flash.events.FileListEvent.SELECT_MULTIPLE
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
ユーザーが browseForOpenMultiple()
メソッドの呼び出しによって開かれたダイアログボックスからファイルを選択すると、送出されます。
FileListEvent.SELECT_MULTIPLE
定数は、type
プロパティ(selectMultiple
イベントのイベントオブジェクト)の値を定義します。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
files | ファイルを表す File オブジェクトの配列が選択されました。 |
target | FileListEvent オブジェクトです。 |
関連する API エレメント
Tue Jun 12 2018, 10:34 AM Z