Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
flash.filesystem 

File  - AS3

パッケージflash.filesystem
クラスpublic class File
継承File Inheritance FileReference Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

File オブジェクトは、ファイルまたはディレクトリへのパスを表します。既存のファイルまたはディレクトリを指定できます。また、存在しないファイルまたはディレクトリを指定することもできます。例えば、作成するファイルまたはディレクトリへのパスを表すことができます。

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
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
 InheritedcreationDate : Date
[読み取り専用] ローカルディスク上に存在するファイルの作成日です。
FileReference
 Inheritedcreator : String
[読み取り専用] Macintosh クリエータータイプのファイルです。このファイルは、Mac OS X より前のバージョンの Mac OS でのみ使用されます。
FileReference
 Inheriteddata : ByteArray
[読み取り専用] load() メソッドの呼び出しが成功した後に読み込まれるファイルからのデータを表す ByteArray オブジェクト。
FileReference
      desktopDirectory : File
[静的] [読み取り専用] ユーザーのデスクトップディレクトリです。
File
      documentsDirectory : File
[静的] [読み取り専用] ユーザーのドキュメントディレクトリです。
File
      downloaded : Boolean
参照先のファイルまたはディレクトリが、インターネット経由でダウンロード済みであるかどうかを示します。
File
      exists : Boolean
[読み取り専用] 参照先のファイルまたはディレクトリが存在するかどうかを示します。
File
 Inherited    extension : String
[読み取り専用] ファイル名拡張子です。
FileReference
      icon : Icon
[読み取り専用] ファイルに対して定義されたアイコンを格納している Icon オブジェクトです。
File
      isDirectory : Boolean
[読み取り専用] 参照先がディレクトリであるかどうかを示します。
File
      isHidden : Boolean
[読み取り専用] 参照先のファイルまたはディレクトリが "非表示" かどうかを示します。値は、参照先のファイルまたはディレクトリが非表示の場合は true、それ以外の場合は false です。
File
      isPackage : Boolean
[読み取り専用] 参照先のディレクトリがパッケージであるかどうかを示します。
File
      isSymbolicLink : Boolean
[読み取り専用] 参照がシンボリックリンクであるかどうかを示します。
File
      lineEnding : String
[静的] [読み取り専用] ホストオペレーティングシステムで使用される行終了文字です。
File
 InheritedmodificationDate : Date
[読み取り専用] ローカルディスク上に存在するファイルの最終変更日です。
FileReference
 Inheritedname : String
[読み取り専用] ローカルディスク上に存在するファイルの名前です。
FileReference
      nativePath : String
ホストオペレーティングシステムの表現形式に従った完全パスです。
File
      parent : File
[読み取り専用] この File オブジェクトによって参照されているファイルまたはディレクトリを格納しているディレクトリです。
File
      permissionStatus : String
[静的] [読み取り専用] ファイルシステムにアクセスする権限をアプリケーションが付与されたかどうかを判定します。
File
      preventBackup : Boolean
ランタイムでこの File オブジェクトがクラウドにバックアップされないかどうかを示します。
File
      separator : String
[静的] [読み取り専用] ホストオペレーティングシステムのパスコンポーネントの区切り文字です。
File
 Inheritedsize : Number
[読み取り専用] ローカルディスク上に存在するファイルのサイズ(バイト単位)です。
FileReference
      spaceAvailable : Number
[読み取り専用] この File の場所で使用可能な領域(バイト)。
File
      systemCharset : String
[静的] [読み取り専用] ホストオペレーティングシステムで使用されるデフォルトのエンコーディングです。
File
 Inheritedtype : String
[読み取り専用] ファイル形式です。
FileReference
      url : String
このファイルパスの URL です。
File
      userDirectory : File
[静的] [読み取り専用] ユーザーのディレクトリです。
File
パブリックメソッド
 メソッド定義元
  
    File(path:String = null)
File クラスのコンストラクター関数です。
File
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
browse(typeFilter:Array = null):Boolean
アップロードするファイルを選択できるファイル参照ダイアログボックスを表示します。
FileReference
  
ディレクトリ選択ダイアログボックスを表示して、ユーザーがディレクトリを選択できるようにします。
File
  
    browseForOpen(title:String, typeFilter:Array = null):void
ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを選択できるようにします。
File
  
    browseForOpenMultiple(title:String, typeFilter:Array = null):void
ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを 1 つ以上選択できるようにします。
File
  
    browseForSave(title:String):void
ファイルを保存ダイアログボックスを表示して、ユーザーがファイルの保存先を選択できるようにします。
File
  
    cancel():void
[オーバーライド] 保留中の非同期処理をキャンセルします。
File
  
    canonicalize():void
File のパスを標準化します。
File
  
    clone():File
この File オブジェクトのコピーを返します。
File
  
    copyTo(newLocation:FileReference, overwrite:Boolean = false):void
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメーターで指定された場所にコピーします。
File
  
    copyToAsync(newLocation:FileReference, overwrite:Boolean = false):void
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメーターで指定された場所にコピーする処理を開始します。
File
  
指定されたディレクトリおよび必要な親ディレクトリを作成します。
File
  
[静的] 新しい一時ディレクトリへの参照を返します。
File
  
[静的] 新しい一時ファイルへの参照を返します。
File
  
    deleteDirectory(deleteDirectoryContents:Boolean = false):void
ディレクトリを削除します。
File
  
    deleteDirectoryAsync(deleteDirectoryContents:Boolean = false):void
ディレクトリを非同期で削除します。
File
  
    deleteFile():void
ファイルを削除します。
File
  
ファイルを非同期で削除します。
File
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
download(request:URLRequest, defaultFileName:String = null):void
リモートサーバーからファイルをダウンロードするためのダイアログボックスを開きます。
FileReference
  
この File オブジェクトによって表されるディレクトリ内のファイルおよびディレクトリに対応する File オブジェクトの配列を返します。
File
  
この File オブジェクトによって表されるディレクトリの内容に対応する File オブジェクトの配列を非同期で取得します。
File
  
    getRelativePath(ref:FileReference, useDotDot:Boolean = false):String
2 つの File パス間の相対パスを探します。
File
  
[静的] ファイルシステムのルートディレクトリを列挙している File オブジェクトの配列を返します。
File
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
ユーザーが選択したローカルファイルの読み込みを開始します。
FileReference
  
    moveTo(newLocation:FileReference, overwrite:Boolean = false):void
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメーターで指定された場所に移動します。
File
  
    moveToAsync(newLocation:FileReference, overwrite:Boolean = false):void
この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメーターで指定された場所に移動する処理を開始します。
File
  
    moveToTrash():void
ファイルまたはディレクトリをごみ箱に移動します。
File
  
ファイルまたはディレクトリを非同期でごみ箱に移動します。
File
  
このファイル形式用としてオペレーティングシステムに登録されているアプリケーションで、ファイルを開きます。
File
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
[オーバーライド] ファイルシステムにアクセスする権限を要求します。
File
  
    resolvePath(path:String):File
path パラメーター(ストリング)に基づいて、この File オブジェクトのパスを基準とした相対的なパスを持つ新しい File オブジェクトを作成します。
File
 Inherited
save(data:*, defaultFileName:String = null):void
ローカルファイルシステムにファイルを保存するためのダイアログボックスを開きます。
FileReference
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
リモートサーバーへのファイルのアップロードを開始します。
FileReference
 Inherited
ファイルをエンコードせずに URL へのアップロードを開始します。
FileReference
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
  
    cancel
保留中の非同期処理がキャンセルされると、送出されます。File
  
    complete
非同期処理が完了すると、送出されます。File
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  getDirectoryListingAsync() メソッドを呼び出した結果、ディレクトリ一覧が得られると送出されます。File
 Inheritedupload() または uploadUnencoded() メソッドを呼び出して HTTP を介してデータにアクセスを試み、Adobe AIR で要求のステータスコードを検出して返すことができる場合に送出されます。FileReference
 Inheritedアップロードに失敗し、HTTP ステータスコードを使用して失敗を記述することができない場合に送出されます。FileReference
  
    ioError
非同期ファイル処理中にエラーが発生すると、送出されます。File
 Inheritedアップロード処理またはダウンロード処理が開始するときに送出されます。FileReference
  ファイルシステムにアクセスする権限をアプリケーションから要求したときに送出されます。File
 Inheritedファイルのアップロード処理中またはダウンロード処理中に定期的に送出されます。FileReference
  操作がセキュリティ制約に違反していると、送出されます。File
  
    select
ユーザーがファイルまたはディレクトリ参照ダイアログボックスからファイルまたはディレクトリを選択すると、送出されます。File
  ユーザーが browseForOpenMultiple() メソッドの呼び出しによって開かれたダイアログボックスからファイルを選択すると、送出されます。File
 Inheritedアップロードの正常終了後、サーバーからデータを受信したときに送出されます。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

例  ( この例の使用方法 )
次の例では、アプリケーション記憶領域ディレクトリの "images" サブディレクトリを指している 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);
この Bitmap オブジェクトを表示オブジェクトコンテナ(Sprite オブジェクト、Flex UIComponent オブジェクトなど)の子として追加できます。
    

isDirectory

プロパティ 
isDirectory:Boolean  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

参照先がディレクトリであるかどうかを示します。値は、File オブジェクトの参照先がディレクトリの場合は true、それ以外の場合は false です。



実装
    public function get isDirectory():Boolean

例  ( この例の使用方法 )
次のコードでは、ユーザーディレクトリ内のファイルおよびディレクトリを参照している File オブジェクトの配列を作成し、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

例  ( この例の使用方法 )
次のコードでは、ユーザーディレクトリ内のファイルおよびディレクトリを参照している File オブジェクトの配列を作成し、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 — 呼び出し元がアプリケーションのセキュリティサンドボックス内ではありません。

例  ( この例の使用方法 )
次のコードでは、File オブジェクトの 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

プロパティ 
permissionStatus:String  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 24.0

ファイルシステムにアクセスする権限をアプリケーションが付与されたかどうかを判定します。



実装
    public static function get permissionStatus():String

関連する API エレメント

    

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 エレメント


例  ( この例の使用方法 )
次のコードでは、ファイル(ユーザーのドキュメントディレクトリ内の AIR Test サブディレクトリにある test.txt という名前のファイル)を開き、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 エレメント


例  ( この例の使用方法 )
次のコードでは、File オブジェクトの 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 を指定する場合は、fileapp、または app-storage の URL スキームを使用できます。URL 表記を使用する場合に有効な path パラメーターの値を次に示します。

  • "app:/DesktopPathTest.xml"
  • "app-storage:/preferences.xml"
  • "file:///C:/Documents%20and%20Settings/bob/Desktop"(Bob の Windows コンピューターのデスクトップ)
  • "file:///Users/bob/Desktop"(Bob の Macintosh コンピューターのデスクトップ)

app および app-storage の URL スキームは、あらゆるファイルシステムで有効なファイルを指定できるため便利です。しかし、file URL スキームを使用してユーザーのデスクトップディレクトリを指定している他の 2 つの例では、path 引数を File() コンストラクターに渡さずに、File オブジェクトに File.desktopDirectory を代入する方法をお勧めします。こうすると、プラットフォームやユーザーに依存しない方法でデスクトップディレクトリにアクセスできます。

ネイティブのパスを指定する場合、Windows では、円記号文字またはスラッシュ文字をパス区切り文字としてこの引数で使用できます。Macintosh および Linux では、スラッシュ文字を使用します。ネイティブのパス表記を使用する場合に有効な path パラメーターの値を次に示します。

  • "C:/Documents and Settings/bob/Desktop"
  • "/Users/bob/Desktop"

ただし、この 2 つの例の場合は、path 引数を File() コンストラクターに渡さないで、File オブジェクトに File.desktopDirectory を代入してください。これにより、プラットフォームやユーザーに依存しない方法でデスクトップディレクトリにアクセスできます。


例外
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:Event — ファイルを開くダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
 
select:Event — ユーザーがディレクトリを選択して、ディレクトリ選択ダイアログボックスを閉じると、送出されます。
 
ioError:IOErrorEvent — このプラットフォームでは、参照処理はサポートされていません。

例外
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:Event — ファイルを開くダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
 
select:Event — ユーザーがファイルを選択して、ファイルを開くダイアログボックスを閉じると、送出されます。
 
ioError:IOErrorEvent — このプラットフォームでは、参照処理はサポートされていません。

例外
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:Event — ファイルを開くダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
 
selectMultiple:FileListEvent — ユーザーがファイルを選択して、ファイルを開くダイアログボックスを閉じると、送出されます。
 
ioError:IOErrorEvent — このプラットフォームでは、参照処理はサポートされていません。

例外
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:Event — ファイルの保存ダイアログボックスでユーザーが「キャンセル」をクリックすると、送出されます。
 
select:Event — ユーザーがファイルを選択して、ファイルの保存ダイアログボックスを閉じると、送出されます。
 
ioError:IOErrorEvent — このプラットフォームでは、参照処理はサポートされていません。

例外
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

()メソッド 
override public function cancel():void

ランタイムバージョン: AIR 1.0

保留中の非同期処理をキャンセルします。

    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

()メソッド 
public function clone():File

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

この File オブジェクトのコピーを返します。イベント登録はコピーされません。

注意:このメソッドでは、ファイル自体がコピーされるのではありません。 単に、ActionScript File オブジェクトのインスタンスのコピーが作成されるだけです。ファイルをコピーするには、copyTo() メソッドを使用します。

戻り値
File

    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 — ソースが存在しないか、宛先が存在し、かつ overwritefalse であるか、ソースをターゲットにコピーできなかったか、またはソースおよび宛先が同じファイルまたはフォルダーを参照し、かつ overwritetrue に設定されています。 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:Event — ファイルまたはディレクトリが正常にコピーされると送出されます。
 
ioError:IOErrorEvent — ソースが存在しないか、宛先が存在し、かつ overwritefalse であるか、ソースをターゲットにコピーできなかったか、またはソースおよび宛先が同じファイルまたはフォルダーを参照し、かつ overwritetrue に設定されています。 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 — このアプリケーションに必要な権限がありません。

例  ( この例の使用方法 )

次のコードでは、デスクトップ上の test.txt という名前のファイルをドキュメントディレクトリ内の AIR Test サブディレクトリに移動します。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:Event — ディレクトリが正常に削除されると送出されます。
 
ioError:IOErrorEvent — ディレクトリが存在しないか、削除できませんでした。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:Event — ファイルが正常に削除されると送出されます。
 
ioError:IOErrorEvent — ファイルが存在しないか、削除できませんでした。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:ErrorEvent — このディレクトリを読み取るために必要なアクセス権がないか、ディレクトリが存在しません。
 
directoryListing:FileListEvent — ディレクトリの内容が正常に列挙されました。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 — ソースが存在しないか、宛先が存在し、かつ overwritefalse に設定されているか、ソースファイルまたはディレクトリをターゲットの場所に移動できなかったか、またはソースおよび宛先が同じファイルまたはフォルダーを参照し、かつ overwritetrue に設定されています。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:Event — ファイルまたはディレクトリが正常に移動されると送出されます。
 
ioError:IOErrorEvent — ソースが存在しないか、宛先が存在し overwritefalse であるか、またはソースをターゲットに移動できなかったか、またはソースと宛先が同じファイルまたはフォルダーを参照し overwritetrue に設定されています。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:IOErrorEvent — 操作がオペレーティングシステムによって許可されなかったか、ファイルまたはディレクトリが存在しません。Windows では、開いているファイルや、現在開いているファイルが格納されているディレクトリを移動することはできません。
 
complete:Event — ファイルまたはディレクトリが正常にゴミ箱に移動されると送出されます。

例外
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 エレメント


例  ( この例の使用方法 )

次のコードでは、MP3 ファイルを探して、MP3 ファイル再生用のデフォルトアプリケーションでそのファイルを開きます。
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:PermissionEvent — 要求された権限がユーザーによって付与/拒否されたときに送出されます。

    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 イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target操作をキャンセルするオブジェクトへの参照です。
    

complete

イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.COMPLETE

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

非同期処理が完了すると、送出されます。

Event.COMPLETE 定数は、type プロパティ(complete イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
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 イベントのイベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
filesファイルまたはディレクトリを表す File オブジェクトの配列が見つかりました。
targetFileListEvent オブジェクトです。

関連する API エレメント

    

ioError

イベント  
イベントオブジェクトの型: flash.events.IOErrorEvent
プロパティ IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

非同期ファイル処理中にエラーが発生すると、送出されます。

type プロパティ(ioError イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
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 イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetセキュリティエラーを報告するネットワークオブジェクトです。
textエラーメッセージとして表示されるテキストです。
    

select

イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.SELECT

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

ユーザーがファイルまたはディレクトリ参照ダイアログボックスからファイルまたはディレクトリを選択すると、送出されます。

Event.SELECT 定数は、type プロパティ(select イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
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 イベントのイベントオブジェクト)の値を定義します。
プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
filesファイルを表す File オブジェクトの配列が選択されました。
targetFileListEvent オブジェクトです。

関連する API エレメント





[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。