(AIR のみ)
FileStream オブジェクトは、ファイルの読み取りと書き込みに使用されます。ファイルは、
open() メソッドを呼び出して同期的に開くことも、
openAsync() メソッドを呼び出して非同期で開くこともできます。
ファイルを非同期で開くことの利点は、Adobe AIR がバックグラウンドで読み取りと書き込みの処理を実行している間に、他のコードを実行できることです。非同期で開いた場合は、処理が進むにつれて progress イベントが送出されます。
同期的に開いた File オブジェクトは ByteArray オブジェクトと同じように動作し、非同期で開いたファイルは Socket または URLStream オブジェクトと同じように動作します。File オブジェクトを同期的に開いた場合、要求されたデータの読み取りまたは書き込みを基になるファイルに対して実行している間、呼び出し元は一時停止します。非同期で開いた場合、ストリームに書き込まれたデータは即時にバッファに格納され、後でファイルに書き込まれます。
ファイルからの読み取りが同期的であるか非同期であるかにかかわらず、実際の読み取りメソッドは同期的です。どちらの場合も、現在 "使用可能な" データから読み取られます。違いは、同期的に読み取る場合は常にすべてのデータが使用可能であるのに対して、非同期で読み取る場合はデータストリームが読み取りバッファに読み取られるにつれてデータが徐々に使用可能になる点です。どちらの場合も、現時点で同期的に読み取れるデータは、bytesAvailable プロパティで表されます。
一般に、非同期入力を処理するアプリケーションは progress イベントに登録し、データが使用可能になると、読み取りメソッドを呼び出してデータを処理します。アプリケーションは、complete イベントに登録して、すべてのデータが使用可能になるまで待機し、complete イベントが送出された時点でデータセット全体を処理することもできます。
bytesAvailable:uint [読み取り専用]
入力バッファで読み取ることができるデータのバイト数を返します。読み取りメソッドを使用する前に、ユーザーコードで bytesAvailable を呼び出して、読み取るデータが十分にあることを確認します。
実装 public function get bytesAvailable():uint 例 次のコードは、
bytesAvailable プロパティを使って、
progress イベントに応答するときにバッファで利用できるバイト数を特定します。
var fileRef = air.File.documentsDirectory.resolvePath("AIR Test/bigFile.html");
var fileStream = new air.FileStream();
var bytes = new air.ByteArray();
fileStream.addEventListener(air.ProgressEvent.PROGRESS, progressHandler);
fileStream.openAsync(fileRef, air.FileMode.READ);
function progressHandler(e) {
air.trace(fileStream.position, fileStream.bytesAvailable);
fileStream.readBytes(bytes, fileStream.position, fileStream.bytesAvailable);
}endian:String
データのバイト順序(Endian クラスの BIG_ENDIAN 定数または LITTLE_ENDIAN 定数)です。
実装 public function get endian():String public function set endian(value:String):voidobjectEncoding:uint
readObject() メソッドまたは writeObject() メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに、AMF3 と AMF0 のどちらのフォーマットを使用するかを指定します。
この値は、ObjectEncoding クラスの定数です。デフォルトでは、AMF3 フォーマットが使用されます。
実装 public function get objectEncoding():uint public function set objectEncoding(value:uint):void関連項目
position:Number
ファイルでの現在の位置です。
この値は、次のいずれかの方法で変更されます。
- プロパティを明示的に設定したとき
- (いずれかの読み取りメソッドを使用して) FileStream オブジェクトから読み取るとき
- FileStream オブジェクトに書き込むとき
位置は、232 バイトを超える長さのファイルをサポートするために、(uint ではなく)Number として定義されます。このプロパティの値は、常に 253 未満の整数です。この値を小数部を持つ数値に設定した場合は、最も近い整数に切り捨てられます。
ファイルを非同期で読み取ると、position プロパティを設定した場合、アプリケーションが読み取りバッファに指定された位置から始まるデータの埋め込みを開始し、bytesAvailable プロパティが 0 に設定される可能性があります。読み取りメソッドを使ってデータを読み取る前に complete イベントを待つか、または読み取りメソッドを使う前に progress イベントを待って bytesAvailable プロパティをチェックします。
実装 public function get position():Number public function set position(value:Number):void 例 次のコードは、ファイルからデータが読み取られると、それに応じて FileStream オブジェクトの
position プロパティが更新される様子を示しています。
import flash.fileSystem.*;
import flash.utils.ByteArray;
import flash.events.Event;
var sourceFile:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt");
var stream:FileStream = new FileStream();
stream.addEventListener(Event.COMPLETE, readBytes);
stream.openAsync(sourceFile, File);
function readBytes(e:Event):void {
var bytes:ByteArray = new ByteArray();
trace("position 0:", stream.position); // 0
bytes[0] = stream.readByte();
trace("position 1:", stream.position); // 1
fileStream.readBytes(bytes, stream.position, 4);
trace("position 2:", stream.position); // 5
stream.close();
}readAhead:Number
ファイルを非同期で読み取るときに、要求されるデータの量です。
このプロパティでは、現在の位置以降、非同期ストリームで読み取るデータの量を指定します。このプロパティのデフォルト値は無限大です。デフォルトでは、読み取りのために非同期で開かれたファイルは、ファイルの末尾に達するまで読み取られます。
読み取りバッファからデータを読み取っても、readAhead プロパティの値は変わりません。バッファからデータを読み取ると、読み取りバッファの空いた部分を埋めるために新しいデータが読み取られます。
readAhead プロパティは、同期的に開かれたファイルに対しては効果がありません。
データが非同期で読み取られると、FileStream オブジェクトが progress イベントを送出します。progress イベントのイベントハンドラメソッドでは、(bytesAvailable プロパティを調べて) 必要なバイト数が利用可能であるかどうかを確認し、読み取りメソッドを使用して読み取りバッファからデータを読み取ります。
実装 public function get readAhead():Number public function set readAhead(value:Number):void 例 次のコードは、
readAhead プロパティを使用して、ファイルに読み取るデータの量を 100 バイトに制限する方法を示しています。
import flash.filesystem.*;
var file:File = File.desktopDirectory.resolvePath("test.txt");
var fileStream:FileStream = new FileStream();
fileStream.readAhead = 100;
fileStream.addEventListener(ProgressEvent.PROGRESS, readProgressHandler)
fileStream.openAsync(file, FileMode.READ);
var results:ByteArray;
function readProgressHandler(event:ProgressEvent):void {
if (fileStream.bytesAvailable >= 100) {
fileStream.readBytes(results, 0, 100);
}
}public function FileStream()
FileStream オブジェクトを作成します。ファイルを開くには、open() メソッドまたは openAsync() メソッドを使用します。
関連項目
public function close():void
FileStream オブジェクトを閉じます。
close() メソッドを呼び出した後は、データの読み取りや書き込みを行うことはできません。ファイルを非同期で開いた(FileStream オブジェクトが openAsync() メソッドを使用してファイルを開いた)場合は、close() メソッドを呼び出すと、close イベントが送出されます。
アプリケーションを閉じると、アプリケーションの FileStream オブジェクトに関連付けられているすべてのファイルが自動的に閉じられます。ただし、アプリケーションを閉じる前に、非同期で開いた、書き込み保留中のデータのあるすべての FileStream オブジェクトについて closed イベントに登録することをお勧めします (これにより、データが確実に書き込まれます)。
FileStream オブジェクトを再利用するには、open() メソッドまたは openAsync() メソッドを呼び出します。これにより、FileStream オブジェクトに関連付けられたすべてのファイルが閉じられますが、このオブジェクトの close イベントは送出されません。
(openAsync() メソッドを使用して)非同期で開いた FileStream オブジェクトについては、その FileStream オブジェクトの close() イベントを呼び出し、そのオブジェクトを参照しているプロパティおよび変数を削除したとしても、保留中の処理があり、その完了のためのイベントハンドラが登録されている場合は FileStream はガベージコレクションの対象になりません。つまり、参照されていない FileStream オブジェクトであっても、次のいずれかの可能性がある限りは存在し続けます。
- ファイルの読み取り処理で、ファイルの末尾に達していない (
complete イベントが送出されていない)。 - 書き込み用の出力データがまだ存在し、出力関連のイベント (
outputProgress イベント、ioError イベントなど) がイベントリスナーを登録している。
イベント | close:Event — 非同期で開かれたファイルが閉じられました。 |
関連項目
例 次のコードでは、FileStream を非同期で開き、ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリにある test.txt という名前のテキストファイルに書き込みます。
データが書き込まれたら、FileStream オブジェクトの
close() メソッドを呼び出してファイルを閉じます。
import flash.filesystem.*;
import flash.events.Event;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.openAsync(file, FileMode.WRITE);
fileStream.writeUTFBytes("Hello");
fileStream.addEventListener(Event.CLOSE, fileClosed);
fileStream.close();
function fileClosed(event:Event):void {
trace("closed");
}
次のコードでは、FileStream を同期的に開き、ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリにある test.txt という名前のテキストファイルに書き込みます。
データが書き込まれたら、FileStream オブジェクトの
close() メソッドを呼び出してファイルを閉じます。
import flash.filesystem.*;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF("Hello");
fileStream.close(); public function open(file:File, fileMode:String):void
file パラメータで指定されたファイルを読み込み元として、FileStream オブジェクトを同期的に開きます。
FileStream オブジェクトが既に開いている場合、このメソッドを呼び出すと、ファイルは、いったん閉じてから開かれます。前に開かれていたファイルに対する追加のイベント(close を含む)は送出されません。
ファイルのロックをサポートするシステムでは、"書き込み" モードまたは "更新" モード(FileMode.WRITE または FileMode.UPDATE)で開かれたファイルは、閉じられるまでは読み取り可能になりません。
ファイルに対する操作を実行し終えたら、FileStream オブジェクトの close() メソッドを呼び出します。オペレーティングシステムによっては、並行して開いておけるファイルの数に制限があります。
パラメータ
| file:File — 開くファイルを表す File オブジェクトです。
|
| |
| fileMode:String — FileMode クラスのストリングであり、FileStream の機能 (ファイルからの読み取り、ファイルへの書き込みなど) を定義するものです。
|
例外 | IOError — ファイルが存在しないか、ファイルを開くために必要なアクセス権を持っていないか、読み取りアクセスのためにファイルを開こうとしているが読み取りアクセス権を持っていないか、または書き込みアクセスのためにファイルを開こうとしているが書き込みアクセス権を持っていません。
|
| |
| SecurityError — ファイルの位置はアプリケーションディレクトリで、fileMode パラメータが「追加」、「更新」、または「書き込み」モードに設定されます。
|
関連項目
例 次のコードは、ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリにある test.txt というファイルを同期的に開き、テキストのエンコーディングとしてシステムの文字セットを使用してファイルをストリングに読み取る方法を示しています。
import flash.filesystem.*;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
var str:String = fileStream.readMultiByte(file.size, File.systemCharset);
trace(str);
fileStream.close(); public function openAsync(file:File, fileMode:String):void
file パラメータで指定されたファイルを読み込み元として、FileStream オブジェクトを非同期的に開きます。
FileStream オブジェクトが既に開いている場合、このメソッドを呼び出すと、ファイルは、いったん閉じてから開かれます。前に開かれていたファイルに対する追加のイベント(close を含む)は送出されません。
fileMode パラメータが FileMode.READ または FileMode.UPDATE に設定されている場合、ファイルが開かれるとすぐに入力バッファへのデータの読み取りが開始され、この読み取り処理中に progress イベントおよび open イベントが送出されます。
ファイルのロックをサポートするシステムでは、"書き込み" モードまたは "更新" モード(FileMode.WRITE または FileMode.UPDATE)で開かれたファイルは、閉じられるまでは読み取り可能になりません。
ファイルに対する操作を実行し終えたら、FileStream オブジェクトの close() メソッドを呼び出します。オペレーティングシステムによっては、並行して開いておけるファイルの数に制限があります。
`
パラメータ
| file:File — 開くファイルを表す File オブジェクトです。
|
| |
| fileMode:String — FileMode クラスのストリングであり、FileStream の機能 (ファイルからの読み取り、ファイルへの書き込みなど) を定義するものです。
|
イベント | ioError:IOErrorEvent — ファイルが存在しないか、ファイルを開くために必要なアクセス権を持っていないか、読み取りアクセスのためにファイルを開こうとしているが読み取りアクセス権を持っていないか、または書き込みアクセスのためにファイルを開こうとしているが書き込みアクセス権を持っていません。 |
| |
| progress:ProgressEvent — 入力バッファへのデータの読み取り処理中に送出されます。fileMode パラメータを FileMode.READ または FileMode.UPDATE に設定して、ファイルが開かれている必要があります。 |
| |
| complete:Event — 入力バッファへのファイルデータの読み取りが完了しました。fileMode パラメータを FileMode.READ または FileMode.UPDATE に設定して、ファイルが開かれている必要があります。 |
例外 | SecurityError — ファイルの位置はアプリケーションディレクトリで、fileMode パラメータが「追加」、「更新」、または「書き込み」モードに設定されます。
|
関連項目
例 次のコードは、ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリにある test.txt というファイルを非同期的に開き、テキストのエンコーディングとしてシステムの文字セットを使用してファイルをストリングに読み取る方法を示しています。
import flash.filesystem.*;
import flash.events.Event;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.addEventListener(Event.COMPLETE, fileCompleteHandler)
fileStream.openAsync(file, FileMode.READ);
function fileCompleteHandler(event:Event):void {
var str:String = fileStream.readMultiByte(fileStream.bytesAvailable, File.systemCharset);
trace(str);
fileStream.close();
} public function readBoolean():Boolean
ファイルストリーム、バイトストリームまたはバイト配列からブール値を読み取ります。 1 バイトが読み取られ、バイトがゼロ以外の場合は true、それ以外の場合は false が返されます。
戻り値 | Boolean — バイトがゼロ以外の場合は true、それ以外の場合は false のブール値が返されます。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readByte():int
ファイルストリーム、バイトストリームまたはバイト配列から符号付きバイトを読み取ります。
戻り値 | int — 戻り値は -128 ~ 127 の範囲です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
ファイルストリーム、バイトストリームまたはバイト配列から、length パラメータで指定したデータバイト数を読み取ります。 このバイトは、bytes パラメータで指定した ByteArray オブジェクトの、offset で指定された位置以降に読み込まれます。
パラメータ
| bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
|
| |
| offset:uint (default = 0) — データの読み取りを開始する bytes パラメータへのオフセットです。
|
| |
| length:uint (default = 0) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readDouble():Number
ファイルストリーム、バイトストリームまたはバイト配列から IEEE 754 倍精度浮動小数点数を読み取ります。
戻り値 | Number — IEEE 754 倍精度浮動小数点数です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readFloat():Number
ファイルストリーム、バイトストリームまたはバイト配列から IEEE 754 単精度浮動小数点数を読み取ります。
戻り値 | Number — IEEE 754 単精度浮動小数点数です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readInt():int
ファイルストリーム、バイトストリームまたはバイト配列から符号付き 32 ビット整数を読み取ります。
戻り値 | int — 戻り値は -2147483648 ~ 2147483647 の範囲です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readMultiByte(length:uint, charSet:String):String
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列から指定した長さのマルチバイトストリングを読み取ります。
パラメータ
| length:uint — バイトストリームから読み取るバイト数です。
|
| |
| charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift-jis"、"cn-gb"、および "iso-8859-1" などがあります。完全な一覧については、サポートする文字セットを参照してください。
メモ:charSet パラメータの値が現在のシステムで認識されない場合、Adobe® Flash® Player または Adobe® AIR® は、システムのデフォルトコードページを文字セットとして使用します。たとえば、charSet パラメータの指定で、myTest.readMultiByte(22, "iso-8859-01") のように、01 を 1 の代わりに使用した場合、その文字セットパラメータは開発マシンでは認識されるかもしれませんが、別のマシンでは認識されない可能性があります。もう一方のマシンでは、Flash Player または AIR ランタイムがシステムのデフォルトコードページを使用することになります。
|
戻り値 | String — UTF-8 エンコードされたストリングです。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
関連項目
public function readObject():*
ファイルストリーム、バイトストリームまたはバイト配列から、AMF 直列化形式でエンコードされたオブジェクトを読み取ります。
戻り値イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
関連項目
public function readShort():int
ファイルストリーム、バイトストリームまたはバイト配列から符号付き 16 ビット整数を読み取ります。
戻り値 | int — 戻り値は -32768 ~ 32767 の範囲です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readUnsignedByte():uint
ファイルストリーム、バイトストリームまたはバイト配列から符号なしバイトを読み取ります。
戻り値 | uint — 戻り値は 0 ~ 255 の範囲です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readUnsignedInt():uint
ファイルストリーム、バイトストリームまたはバイト配列から符号なし 32 ビット整数を読み取ります。
戻り値 | uint — 戻り値は 0 ~ 4294967295 の範囲です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readUnsignedShort():uint
ファイルストリーム、バイトストリームまたはバイト配列から符号なし 16 ビット整数を読み取ります。
戻り値 | uint — 戻り値は 0 ~ 65535 の範囲です。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readUTF():String
ファイルストリーム、バイトストリームまたはバイト配列から UTF-8 ストリングを読み取ります。 このストリングには、バイト単位の長さを示す符号なし short が前に付いているものと見なされます。
このメソッドは、Java IDataInput インターフェイスの readUTF() メソッドによく似ています。
戻り値 | String — 文字のバイト表現で作成された UTF-8 ストリングです。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function readUTFBytes(length:uint):String
バイトストリームまたはバイト配列から UTF-8 の バイトのシーケンスを読み取り、ストリングを返します。
パラメータ
| length:uint — 読み取るバイト数です。
|
戻り値 | String — 指定した長さの文字のバイト表現で作成された UTF-8 ストリングです。
|
イベント | ioError:IOErrorEvent — ファイルを読み取ることができないか、またはファイルが開いていません。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが読み取り機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルは読み取ることができません(例えば、ファイルがないため)。
|
| |
| EOFError — データの読み取りのために指定された位置が、(bytesAvailable プロパティで指定された) 使用可能なバイト数を超えています。
|
public function truncate():void
FileStream オブジェクトの position プロパティで指定された位置でファイルを切り捨てます。
position プロパティで指定された位置からファイルの末尾までのバイトが削除されます。ファイルは書き込み用に開かれている必要があります。
例外関連項目
例 次のコードでは、ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリにある test.txt というファイルを同期的に開き、ファイルの長さが 100 文字を超える場合は 100 文字に切り詰めます。
import flash.filesystem.*;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.UPDATE);
if (file.size > 100) {
fileStream.position = 100;
fileStream.truncate();
}
fileStream.close(); 次のコードでは、ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリにある test.txt というファイルを非同期的に開き、ファイルの長さが 100 文字を超える場合は 100 文字に切り詰めます。
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.openAsync(file, FileMode.UPDATE);
trace("start", file.size)
if (file.size > 100) {
fileStream.position = 100;
fileStream.truncate();
}
fileStream.addEventListener(Event.CLOSE, fileClosed);
fileStream.close();
function fileClosed(event:Event):void {
trace("closed", file.size);
} public function writeBoolean(value:Boolean):void
ブール値を書き込みます。value パラメータに従って、1 バイトが書き込まれます。true の場合は 1、false の場合は 0 のいずれかが書き込まれます。
パラメータ
| value:Boolean — 書き込むバイトを決定するブール値です。このパラメータが true の場合は 1、false の場合は 0 が書き込まれます。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeByte(value:int):void
バイトを書き込みます。パラメータの下位 8 ビットが使用されます。上位 24 ビットは無視されます。
パラメータ
| value:int — 整数としてのバイト値です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
指定したバイト配列(bytes)の offset(0 から始まるインデックス値)バイトから開始される length バイトのシーケンスをファイルストリーム、バイトストリームまたはバイト配列に書き込みます。
length パラメータを省略すると、デフォルトの長さの 0 が使用され、offset から開始されるバッファ全体が書き込まれます。 offset パラメータも省略した場合は、バッファ全体が書き込まれます。
offset または length パラメータが範囲外の場合は、これらは bytes 配列の最初と最後に固定されます。
パラメータ
| bytes:ByteArray — 書き込むバイト配列です。
|
| |
| offset:uint (default = 0) — 書き込みを開始する配列の位置を指定する、0 から始まるインデックスです。
|
| |
| length:uint (default = 0) — 書き込むバッファの長さを指定する符号なし整数です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeDouble(value:Number):void
IEEE 754 倍精度(64 ビット)浮動小数点数を書き込みます。
パラメータ
| value:Number — 倍精度 (64 ビット) 浮動小数点数です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeFloat(value:Number):void
IEEE 754 単精度 (32 ビット) 浮動小数点数を書き込みます。
パラメータ
| value:Number — 単精度 (32 ビット) 浮動小数点数です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeInt(value:int):void
32 ビット符号付き整数を書き込みます。
パラメータ
| value:int — 符号付き整数としてのバイト値です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeMultiByte(value:String, charSet:String):void
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列にマルチバイトストリングを書き込みます。
パラメータ
| value:String — 書き込まれるストリング値です。
|
| |
| charSet:String — 使用する文字セットを表すストリングです。文字セットのストリングには、"shift-jis"、"cn-gb"、および "iso-8859-1" などがあります。完全な一覧については、「サポートする文字セット」を参照してください。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
関連項目
public function writeObject(object:*):void
ファイルストリーム、バイトストリームまたはバイト配列に、AMF 直列化形式でオブジェクトを書き込みます。
パラメータ
| object:* — 直列化されるオブジェクトです。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
関連項目
public function writeShort(value:int):void
16 ビット整数を書き込みます。パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。
パラメータ
| value:int — 整数としてのバイト値です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeUnsignedInt(value:uint):void
32 ビット符号なし整数を書き込みます。
パラメータ
| value:uint — 符号なし整数としてのバイト値です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeUTF(value:String):void
ファイルストリーム、バイトストリームまたはバイト配列に UTF-8 ストリングを書き込みます。 最初に UTF-8 ストリングの長さがバイト単位で 16 ビット整数として書き込まれ、その後にストリングの文字を表すバイトが続きます。
パラメータ
| value:String — 書き込まれるストリング値です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
public function writeUTFBytes(value:String):void
UTF-8 ストリングを書き込みます。writeUTF() と似ていますが、ストリングに 16 ビット長の接頭辞が付きません。
パラメータ
| value:String — 書き込まれるストリング値です。
|
イベント | ioError:IOErrorEvent — ファイルに書き込むことができません (例えば、ファイルがないため)。このイベントは、(openAsync() メソッドを使用して) 非同期処理のために開かれたファイルに対してのみ送出されます。 |
例外 | IOError — ファイルが開かれていないか、ファイルが開かれたが書き込み機能を指定して開かれていません。または(open() メソッドを使用して)同期処理のために開かれたファイルに書き込むことができません(例えば、ファイルがないため)。
|
イベントオブジェクトの型: flash.events.Eventプロパティ Event.type = flash.events.Event.CLOSE
close() メソッドの明示的な呼び出しによってストリームが閉じられたことを示します。
Event.CLOSE 定数は、
type プロパティ(
close イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続が閉じられたオブジェクトです。 |
関連項目
イベントオブジェクトの型: flash.events.Eventプロパティ Event.type = flash.events.Event.COMPLETE
ストリームの終わりに達したことを通知します。
Event.COMPLETE 定数は、
type プロパティ(
complete イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ロードが完了したネットワークオブジェクトです。
|
関連項目
イベントオブジェクトの型: flash.events.IOErrorEventプロパティ IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR
非同期のファイル I/O 処理中にエラーが発生したことを示します。
type プロパティ (
ioError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
イベントオブジェクトの型: flash.events.OutputProgressEventプロパティ OutputProgressEvent.type = flash.events.OutputProgressEvent.OUTPUT_PROGRESS
バッファに格納されたデータがファイルに書き込まれたことを通知します。
type プロパティ (
outputProgress イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
bytesPending | リスナーがイベントを処理する時点でまだ書き込まれていないバイト数です。 |
bytesTotal | 書き込みプロセスが成功した場合に最終的に書き込まれるバイトの総数です。 |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 進行状況をレポートする FileStream オブジェクトです。 |
イベントオブジェクトの型: flash.events.ProgressEventプロパティ ProgressEvent.type = flash.events.ProgressEvent.PROGRESS
ストリーム上で新しいデータが使用可能になったことを通知します。
type プロパティ (
progress イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|
bubbles | false |
bytesLoaded | リスナーがイベントを処理しているときにロードされたアイテム数またはバイト数です。 |
bytesTotal | ロードプロセスが成功した場合に最終的にロードされるアイテムまたはバイトの総数です。 |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 進行状況をレポートする オブジェクトです。 |
© 2009 Adobe Systems Incorporated. All rights reserved.
Thu Mar 19 2009, 08:51 PM -07:00 現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/filesystem/FileStream.html