(仅限 AIR)
使用 FileStream 对象读取和写入文件。通过调用
open()
方法可以同步打开文件,通过调用
openAsync()
方法可以异步打开文件。
以异步方式打开文件的好处是当 Adobe AIR 在后台运行读写过程时,可以执行其他代码。在以异步方式打开文件时,将随着操作的进行调度 progress
事件。
以同步方式打开的 File 对象其行为很类似于 ByteArray 对象;以异步方式打开的文件其行为很类似于 Socket 或 URLStream 对象。在以同步方式打开 File 对象时,当从基础文件中读取或向其中写入需要的数据时,调用方将暂停。在以异步方式打开文件时,将会立即缓冲写入到流的任何数据,然后再写入文件。
无论是以同步方式还是以异步方式从文件中读取数据,实际的读取方法都是同步的。两种情况都读取当前“可用的”数据。不同之处在于在以同步方式读取时,所有数据始终是可用的;而在以异步方式读取时,随着数据流入读取缓冲区,数据将逐渐变为可用。无论哪种方式,可以在当前时刻以同步方式读取的数据将由 bytesAvailable
属性表示。
处理异步输入的应用程序通常会注册 progress
事件并使用通过调用读取方法变为可用的数据。或者,应用程序可以通过注册 complete
事件并处理调度 complete
事件时的整个数据集,从而简单地等待所有数据变为可用。
bytesAvailable:uint
[只读 (read-only)]
返回可在输入缓冲区中读取的数据的字节数。在尝试使用某一种读取方法读取数据之前,用户代码必须调用 bytesAvailable
以确保有足够的数据可用。
实现 public function get bytesAvailable():uint
endian:String
[读写]
数据的字节顺序:为 Endian 类中的 BIG_ENDIAN
或 LITTLE_ENDIAN
常量。
实现 public function get endian():String
public function set endian(value:String):void
objectEncoding:uint
[读写]
指定在使用 readObject()
或 writeObject()
方法写入或读取二进制数据时是使用 AMF3 格式还是 AMF0 格式。
该值为 ObjectEncoding 类中的常数。在默认情况下使用 AMF3 格式。
实现 public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
另请参见
position:Number
[读写]
文件中的当前位置。
此值可以按以下任一方式进行修改:
- 显式设置该属性
- 从 FileStream 对象中读取(通过使用一种读取方法)
- 写入到 FileStream 对象
该位置定义为一个数字(而不是单位),以支持长度大于 232 字节的文件。此属性的值始终是一个小于 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
事件的事件处理函数方法中,查看所需的字节数是否可用(通过检查 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
事件(以确保写入数据)。
通过调用 open()
或 openAsync()
方法可以重复使用 FileStream 对象。这将关闭与 FileStream 对象相关联的任何文件,但该对象不会调度 close
事件。
对于以异步方式打开的 FileStream 对象(使用 openAsync()
方法),即使为 FileStream 对象调用了 close()
事件并删除了引用该对象的属性和变量,只要有尚未完成操作,并且为操作的完成注册了事件处理函数,就不会将 FileStream 对象作为垃圾回收。特别是,只要以下情况之一仍然可能存在,就会永久保持未引用的 FileStream 对象:
-
对于文件读取操作,尚未到达文件末尾(并且尚未调度
complete
事件)。
-
输出数据仍然可用于写入,并且与输出有关的事件(如
outputProgress
事件或 ioError
事件)已经注册了事件侦听器。
事件 | close:Event — 以异步方式打开的文件已关闭。 |
另请参见
示例
下面的代码
以异步方式打开 FileStream 对象并将一个名为 test.txt 的文本文件写入到用户文档目录的 Apollo Test 子目录中。调用 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 对象并将一个名为 test.txt 的文本文件写入到用户文档目录的 Apollo Test 子目录中。调用 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
以同步方式打开 FileStream 对象,指向由 file
参数指定的文件。
如果 FileStream 对象已打开,则调用此方法将在打开文件前关闭文件,且不会为以前打开的文件传送任何进一步事件(包括 close
)。
在支持文件锁定的系统中,在“写入”或“更新”模式(FileMode.WRITE
或 FileMode.UPDATE
)下打开的文件在关闭前将是不可读的。
参数
| 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
以异步方式打开 FileStream 对象,指向由 file
参数指定的文件。
如果 FileStream 对象已打开,则调用此方法将在打开文件前关闭文件,且不会为以前打开的文件传送任何进一步事件(包括 close
)。
如果 fileMode
参数设置为 FileMode.READ
或 FileMode.UPDATE
,则文件一经打开,AIR 就会将数据读入到输入缓冲区中,并在将数据读入到输入缓冲区时调度 progress
和 open
事件。
在支持文件锁定的系统中,在“写入”或“更新”模式(FileMode.WRITE
或 FileMode.UPDATE
)下打开的文件在关闭前将是不可读的。
参数
| file:File — 指定要打开的文件的 File 对象。 |
|
| fileMode:String — FileMode 类中的一个字符串,用于定义 FileStream 的功能(如读取或写入文件的功能)。 |
事件 | ioError:IOErrorEvent — 文件不存在;您没有足够的权限打开该文件;您正在打开文件以进行读取访问,但您没有读取权限;或您正在打开文件以进行写入访问,但您没有写入权限。 |
|
| progress:ProgressEvent — 在将数据读入到输入缓冲区时调度。(文件必须在 fileMode 参数设置为 FileMode.READ 或 FileMode.UPDATE 的情况下打开。) |
|
| complete:Event — 已将文件数据读入到输入缓冲区。(文件必须在 fileMode 参数设置为 FileMode.READ 或 FileMode.UPDATE 的情况下打开。) |
引发另请参见
示例
下面的代码显示如何异步打开用户文档目录的 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
从文件流、字节流或字节数组中读取布尔值。读取单个字节,如果字节非零,则返回 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
参数指定的数据字节数。将从 offset
指定的位置开始,将字节读入 bytes
参数指定的 ByteArray 对象。
参数
| 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 双精度浮点数。
返回事件 | ioError:IOErrorEvent — 无法读取文件或文件未打开。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
|
|
| EOFError —
为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
public function readFloat():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" ”等。有关完整列表,请参阅Supported Character Sets。
注意:如果当前系统无法识别 charSet 参数的值,则 Adobe®Flash®Player 或 Adobe®AIR™ 将采用系统的默认代码页作为字符集。例如,charSet 参数的值(如在使用 01 而不是 1 的 myTest.readMultiByte(22, "iso-8859-01") 中)可能适用于您的开发计算机,而不适用于其它计算机。在其他计算机上,Flash Player 或 AIR 运行时将使用系统的默认代码页。
|
返回事件 | 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
从文件流、字节流或字节数组中读取无符号的字节。
返回事件 | 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 字符串。假定字符串的前缀是无符号的短整型(以字节表示长度)。
此方法类似于 Java ® IDataInput 接口中的 readUTF()
方法。
返回 | String — 由字符的字节表示形式生成的 UTF-8 字符串。 |
事件 | ioError:IOErrorEvent — 无法读取文件或文件未打开。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
|
|
| EOFError —
为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
public function readUTFBytes(length:uint):String
从字节流或字节数组中读取包含 个字节的 UTF-8 字节序列,并返回一个字符串。
参数
返回 | 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
参数写入单个字节。如果为 true
,则写入 1,如果为 false
,则写入 0。
参数
| value:Boolean —
确定写入哪个字节的布尔值。如果该参数为 true ,则写入 1;如果为 false ,则写入 0。
|
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeByte(value:int):void
写入一个字节。使用了该参数的低 8 位;忽略了高 24 位。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
在指定的字节数组、字节
中,从偏移量
(使用从零开始的索引)指定的字节开始,向文件流、字节流或字节数组中写入一个长度由 length
指定的字节序列。
如果省略 length
参数,则使用默认长度 0 并从 offset
开始写入整个缓冲区。如果还省略了 offset
参数,则写入整个缓冲区。
如果 offset
或 length
参数超出范围,它们将被锁定到 bytes
数组的开头和结尾。
参数
| bytes:ByteArray — 要写入的字节数组。 |
|
| offset:uint (default = 0 ) — 从零开始的索引,指定在数组中开始写入的位置。 |
|
| length:uint (default = 0 ) — 一个无符号整数,指定在缓冲区中的写入范围。 |
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeDouble(value:Number):void
写入 IEEE 754 双精度(64 位)浮点数。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeFloat(value:Number):void
写入 IEEE 754 单精度(32 位)浮点数。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeInt(value:int):void
写入一个带符号的 32 位整数。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeMultiByte(value:String, charSet:String):void
使用指定的字符集将多字节字符串写入文件流、字节流或字节数组中。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
另请参见
public function writeObject(object:*):void
以 AMF 序列化格式将对象写入文件流、字节流或字节数组中。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
另请参见
public function writeShort(value:int):void
写入一个 16 位整数。使用了该参数的低 16 位;忽略了高 16 位。
参数
事件 | 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 位整数),然后写入表示字符串字符的字节。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
public function writeUTFBytes(value:String):void
写入一个 UTF-8 字符串。类似于 writeUTF()
,但不使用 16 位长度的词为字符串添加前缀。
参数
事件 | ioError:IOErrorEvent — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开的文件(使用 openAsync() 方法)调度此事件。 |
引发 | IOError —
文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.CLOSE
指示 close()
方法的显式调用已关闭流。
Event.CLOSE
常量定义
close
事件对象的
type
属性的值。
此事件具有以下属性:
属性 | 值 |
---|
bubbles
|
false
|
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
| 已关闭其连接的对象。 |
另请参见
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.COMPLETE
指出已到达流末尾。
Event.COMPLETE
常量定义
complete
事件对象的
type
属性值。
此事件具有以下属性:
属性 | 值 |
---|
bubbles
|
false
|
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
| 已完成加载的网络对象。 |
另请参见
事件对象类型: flash.events.IOErrorEvent
属性 IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR
指示在异步文件 I/O 操作期间发生错误。
定义
ioError
事件对象的
type
属性值。
此事件具有以下属性:
属性 | 值 |
---|
bubbles
|
false
|
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
errorID
| 与特定错误关联的引用编号(仅限 AIR)。 |
target
| 发生输入/输出错误的网络对象。 |
text
| 要显示为错误消息的文本。 |
事件对象类型: flash.events.OutputProgressEvent
属性 OutputProgressEvent.type = flash.events.OutputProgressEvent.OUTPUT_PROGRESS
指出已将缓冲数据写入文件。
定义
outputProgress
事件对象的
type
属性值。
此事件具有以下属性:
属性 | 值 |
---|
bubbles
|
false
|
bytesPending
| 在侦听器处理该事件时要写入的剩余字节数。 |
bytesTotal
| 写入进程成功时最终将写入的总字节数。 |
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
| 报告进度的 FileStream 对象。 |
事件对象类型: flash.events.ProgressEvent
属性 ProgressEvent.type = flash.events.ProgressEvent.PROGRESS
指出流上有可用的新数据。
定义
progress
事件对象的
type
属性值。
此事件具有以下属性:
属性 | 值 |
---|
bubbles
|
false
|
bytesLoaded
| 在侦听器处理事件时加载的项数或字节数。 |
bytesTotal
| 如果加载进程成功,最终将加载的项目或字节总数。 |
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
| 报告进度的 对象。 |
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Sun Dec 14 2008, 10:39 PM -08:00