包 | flash.filesystem |
类 | public class FileStream |
继承 | FileStream EventDispatcher Object |
实现 | IDataInput, IDataOutput |
运行时版本: | AIR 1.0 |
open()
方法可以同步打开文件,通过调用 openAsync()
方法可以异步打开文件。
以异步方式打开文件的好处是当 Adobe AIR 在后台运行读写过程时,可以执行其他代码。在以异步方式打开文件时,将随着操作的进行调度 progress
事件。
以同步方式打开的 File 对象其行为很类似于 ByteArray 对象;以异步方式打开的文件其行为很类似于 Socket 或 URLStream 对象。在以同步方式打开 File 对象时,当从基础文件中读取或向其中写入需要的数据时,调用方将暂停。在以异步方式打开文件时,将会立即缓冲写入到流的任何数据,然后再写入文件。
无论是以同步方式还是以异步方式从文件中读取数据,实际的读取方法都是同步的。两种情况都读取当前“可用的”数据。不同之处在于在以同步方式读取时,所有数据始终是可用的;而在以异步方式读取时,随着数据流入读取缓冲区,数据将逐渐变为可用。无论哪种方式,可以在当前时刻以同步方式读取的数据将用 bytesAvailable
属性表示。
处理异步输入的应用程序通常会注册 progress
事件并使用通过调用读取方法变为可用的数据。或者,应用程序可以通过注册 complete
事件并处理调度 complete
事件时的整个数据集,从而简单地等待所有数据变为可用。
属性 | 由以下参数定义 | ||
---|---|---|---|
bytesAvailable : uint [只读]
返回可在输入缓冲区中读取的数据的字节数。 | FileStream | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
endian : String
数据的字节顺序:为 Endian 类中的 BIG_ENDIAN 或 LITTLE_ENDIAN 常量。 | FileStream | ||
objectEncoding : uint
指定在使用 readObject() 或 writeObject() 方法写入或读取二进制数据时是使用 AMF3 格式还是 AMF0 格式。 | FileStream | ||
position : Number
文件中的当前位置。 | FileStream | ||
readAhead : Number
异步读取文件时从磁盘读取数据量的最小值。 | FileStream |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建 FileStream 对象。 | FileStream | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
关闭 FileStream 对象。 | FileStream | ||
将事件调度到事件流中。 | EventDispatcher | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
以同步方式打开 FileStream 对象,指向由 file 参数指定的文件。 | FileStream | ||
以异步方式打开 FileStream 对象,指向由 file 参数指定的文件。 | FileStream | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从文件流、字节流或字节数组中读取布尔值。 | FileStream | ||
从文件流、字节流或字节数组中读取带符号的字节。 | FileStream | ||
从文件流、字节流或字节数组中读取 length 参数指定的数据字节数。 | FileStream | ||
从文件流、字节流或字节数组中读取 IEEE 754 双精度浮点数。 | FileStream | ||
从文件流、字节流或字节数组中读取 IEEE 754 单精度浮点数。 | FileStream | ||
从文件流、字节流或字节数组中读取带符号的 32 位整数。 | FileStream | ||
使用指定的字符集从文件流、字节流或字节数组中读取指定长度的多字节字符串。 | FileStream | ||
从文件流、字节流或字节数组中读取以 AMF 序列化格式编码的对象。 | FileStream | ||
从文件流、字节流或字节数组中读取带符号的 16 位整数。 | FileStream | ||
从文件流、字节流或字节数组中读取无符号的字节。 | FileStream | ||
从文件流、字节流或字节数组中读取无符号的 32 位整数。 | FileStream | ||
从文件流、字节流或字节数组中读取无符号的 16 位整数。 | FileStream | ||
从文件流、字节流或字节数组中读取 UTF-8 字符串。 | FileStream | ||
从字节流或字节数组中读取 UTF-8 字节序列,并返回一个字符串。 | FileStream | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
在 FileStream 对象的 position 属性指定的位置截断文件。 | FileStream | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | ||
写入布尔值。 | FileStream | ||
写入一个字节。 | FileStream | ||
在指定的字节数组 bytes 中,从 offset(使用从零开始的索引)指定的字节开始,向文件流、字节流或字节数组中写入一个长度由 length 指定的字节序列。 | FileStream | ||
写入 IEEE 754 双精度(64 位)浮点数。 | FileStream | ||
写入 IEEE 754 单精度(32 位)浮点数。 | FileStream | ||
写入一个带符号的 32 位整数。 | FileStream | ||
使用指定的字符集将多字节字符串写入文件流、字节流或字节数组中。 | FileStream | ||
以 AMF 序列化格式将对象写入文件流、字节流或字节数组中。 | FileStream | ||
写入一个 16 位整数。 | FileStream | ||
写入一个无符号的 32 位整数。 | FileStream | ||
将 UTF-8 字符串写入文件流、字节流或字节数组中。 | FileStream | ||
写入一个 UTF-8 字符串。 | FileStream |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
表示 close() 方法的显式调用已关闭流。 | FileStream | |||
指出已到达流末尾。 | FileStream | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
表示在异步文件 I/O 操作期间发生错误。 | FileStream | |||
指出已将缓冲数据写入文件。 | FileStream | |||
指出流上有可用的新数据。 | FileStream |
bytesAvailable | 属性 |
endian | 属性 |
objectEncoding | 属性 |
position | 属性 |
position:Number
运行时版本: | AIR 1.0 |
文件中的当前位置。
此值可以按以下任一方式进行修改:
- 明确设置该属性
- 从 FileStream 对象中读取(通过使用一种读取方法)
- 写入到 FileStream 对象
该位置定义为一个数字(而不是单位),以支持长度大于 232 字节的文件。此属性的值始终是一个小于 253 的整数。如果将此值设置为带有小数部分的数字,则会将此值舍入到最接近的整数。
在异步读取文件时,如果设置了 position
属性,应用程序将开始用从指定位置开始的数据填充读取缓冲区,而 bytesAvailable
属性可以设置为 0。在使用一种读取方法读取数据前等待 complete
事件;或在使用一种读取方法前等待 progress
事件并检查 bytesAvailable
属性。
实现
public function get position():Number
public function set position(value:Number):void
示例 ( 如何使用本示例 )
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, FileMode.READ); 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 | 属性 |
readAhead:Number
运行时版本: | AIR 1.0 |
异步读取文件时从磁盘读取数据量的最小值。
此属性指定异步流在当前位置以外尝试读取的数据量。数据是基于文件系统页面大小按块读取的。因此,如果您在页面大小为 8KB(8192 字节)的计算机系统上将 readAhead
设置为 9,000,则运行时每次读取前面 2 个块,即 16384 个字节。此属性的默认值为无穷大:默认情况下,为执行异步读取而打开的文件一直读取到该文件的末尾。
从读取缓冲区读取数据不会更改 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); } }
FileStream | () | 构造函数 |
public function FileStream()
运行时版本: | AIR 1.0 |
创建 FileStream 对象。使用 open()
或 openAsync()
方法打开文件。
相关 API 元素
close | () | 方法 |
public function close():void
运行时版本: | AIR 1.0 |
关闭 FileStream 对象。
在调用 close()
方法后将无法读取或写入任何数据。如果以异步方式打开该文件(FileStream 对象使用 openAsync()
方法打开该文件),则调用 close()
方法将导致该对象调度 close
事件。
关闭应用程序将自动关闭与该应用程序中的 FileStream 对象相关联的所有文件。不过,最好在关闭应用程序之前,对以异步方式打开并具有要写入的未处理数据的所有 FileStream 对象注册 closed
事件(以确保写入数据)。
通过调用 open()
或 openAsync()
方法可以重复使用 FileStream 对象。这将关闭与 FileStream 对象相关联的任何文件,但该对象不会调度 close
事件。
对于以异步方式打开的 FileStream 对象(使用 openAsync()
方法),即使为 FileStream 对象调用了 close()
事件并删除了引用该对象的属性和变量,只要有尚未完成操作,并且为操作的完成注册了事件处理函数,就不会将 FileStream 对象作为垃圾回收。特别是,只要以下情况之一仍然可能存在,就会永久保持未引用的 FileStream 对象:
- 对于文件读取操作,尚未到达文件末尾(并且尚未调度
complete
事件)。 - 输出数据仍然可用于写入,并且与输出有关的事件(如
outputProgress
事件或ioError
事件)已经注册了事件侦听器。
事件
close: — 以异步方式打开的文件已关闭。
|
相关 API 元素
示例 ( 如何使用本示例 )
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"); }
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();
open | () | 方法 |
public function open(file:File, fileMode:String):void
运行时版本: | AIR 1.0 |
以同步方式打开 FileStream 对象,指向由 file
参数指定的文件。
如果 FileStream 对象已打开,则调用此方法将在打开文件前关闭文件,且不会为以前打开的文件传送任何进一步事件(包括 close
)。
在支持文件锁定的系统中,在“写入”或“更新”模式(FileMode.WRITE
或 FileMode.UPDATE
)下打开的文件在关闭前将是不可读的。
对文件执行完操作后,调用 FileStream 对象的 close()
方法。某些操作系统会限制同时打开的文件数。
参数
file:File — 指定要打开的文件的 File 对象。
| |
fileMode:String — FileMode 类中的一个字符串,用于定义 FileStream 的功能(如读取或写入文件的功能)。
|
引发
IOError — 文件不存在;您没有足够的权限打开该文件;您正在打开文件以进行读取访问,但您没有读取权限;或您正在打开文件以进行写入访问,但您没有写入权限。
| |
SecurityError — 文件位置位于应用程序目录中,并将 fileMode 参数设置为“追加”、“更新”或“写入”模式。
|
相关 API 元素
示例 ( 如何使用本示例 )
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();
openAsync | () | 方法 |
public function openAsync(file:File, fileMode:String):void
运行时版本: | AIR 1.0 |
以异步方式打开 FileStream 对象,指向由 file
参数指定的文件。
如果 FileStream 对象已打开,则调用此方法将在打开文件前关闭文件,且不会为以前打开的文件传送任何进一步事件(包括 close
)。
如果 fileMode
参数设置为 FileMode.READ
或 FileMode.UPDATE
,则文件一经打开,AIR 就会将数据读入到输入缓冲区中,并在将数据读入到输入缓冲区时调度 progress
和 open
事件。
在支持文件锁定的系统中,在“写入”或“更新”模式(FileMode.WRITE
或 FileMode.UPDATE
)下打开的文件在关闭前将是不可读的。
对文件执行完操作后,调用 FileStream 对象的 close()
方法。某些操作系统会限制同时打开的文件数。
参数
file:File — 指定要打开的文件的 File 对象。
| |
fileMode:String — FileMode 类中的一个字符串,用于定义 FileStream 的功能(如读取或写入文件的功能)。
|
事件
ioError: — 文件不存在;您没有足够的权限打开该文件;您正在打开文件以进行读取访问,但您没有读取权限;或您正在打开文件以进行写入访问,但您没有写入权限。
| |
progress: — 在将数据读入到输入缓冲区时调度。(必须在 fileMode 参数设置为 FileMode.READ 或 FileMode.UPDATE 的情况下打开文件。)
| |
complete: — 已将文件数据读入到输入缓冲区。(必须在 fileMode 参数设置为 FileMode.READ 或 FileMode.UPDATE 的情况下打开文件。)
|
引发
SecurityError — 文件位置位于应用程序目录中,并将 fileMode 参数设置为“追加”、“更新”或“写入”模式。
|
相关 API 元素
示例 ( 如何使用本示例 )
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(); }
readBoolean | () | 方法 |
public function readBoolean():Boolean
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取布尔值。读取单个字节,如果字节非零,则返回 true
,否则返回 false
。
Boolean — 一个布尔值,如果字节不为零,则为 true ,否则为 false 。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readByte | () | 方法 |
public function readByte():int
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取带符号的字节。
返回int — 返回值的范围是从 -128 到 127。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readBytes | () | 方法 |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取 length
参数指定的数据字节数。将从 offset
指定的位置开始,将字节读入 bytes
参数指定的 ByteArray 对象。
参数
bytes:ByteArray — 要将数据读入的 ByteArray 对象。
| |
offset:uint (default = 0 ) — bytes 参数中的偏移,应从该位置开始读取数据。
| |
length:uint (default = 0 ) — 要读取的字节数。默认值 0 导致读取所有可用的数据。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readDouble | () | 方法 |
public function readDouble():Number
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取 IEEE 754 双精度浮点数。
返回Number — 一个 IEEE 754 双精度浮点数。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readFloat | () | 方法 |
public function readFloat():Number
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取 IEEE 754 单精度浮点数。
返回Number — 一个 IEEE 754 单精度浮点数。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readInt | () | 方法 |
public function readInt():int
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取带符号的 32 位整数。
返回int — 返回值的范围是从 -2147483648 到 2147483647。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readMultiByte | () | 方法 |
public function readMultiByte(length:uint, charSet:String):String
运行时版本: | AIR 1.0 |
使用指定的字符集从文件流、字节流或字节数组中读取指定长度的多字节字符串。
参数
length:uint — 要从字节流中读取的字节数。
| |
charSet:String — 表示用于解释字节的字符集的字符串。可能的字符集字符串包括 "shift-jis" 、"cn-gb" 、"iso-8859-1" 等。有关完整列表,请参阅支持的字符集。
注意:如果当前系统无法识别 |
String — UTF-8 编码的字符串。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
相关 API 元素
readObject | () | 方法 |
public function readObject():*
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取以 AMF 序列化格式编码的对象。
返回* — 反序列化的对象
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
相关 API 元素
readShort | () | 方法 |
public function readShort():int
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取带符号的 16 位整数。
返回int — 返回值的范围是从 -32768 到 32767。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readUnsignedByte | () | 方法 |
public function readUnsignedByte():uint
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取无符号的字节。
返回uint — 返回值的范围是从 0 到 255。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readUnsignedInt | () | 方法 |
public function readUnsignedInt():uint
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取无符号的 32 位整数。
返回uint — 返回值的范围是从 0 到 4294967295。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readUnsignedShort | () | 方法 |
public function readUnsignedShort():uint
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取无符号的 16 位整数。
返回uint — 返回值的范围是从 0 到 65535。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readUTF | () | 方法 |
public function readUTF():String
运行时版本: | AIR 1.0 |
从文件流、字节流或字节数组中读取 UTF-8 字符串。假定字符串的前缀是无符号的短整型(以字节表示长度)。
此方法类似于 Java® IDataInput 接口中的 readUTF()
方法。
String — 由字符的字节表示形式生成的 UTF-8 字符串。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
readUTFBytes | () | 方法 |
public function readUTFBytes(length:uint):String
运行时版本: | AIR 1.0 |
从字节流或字节数组中读取 UTF-8 字节序列,并返回一个字符串。
参数
length:uint — 要读取的字节数。
|
String — 由指定长度字符的字节表示形式生成的 UTF-8 字符串。
|
事件
ioError: — 无法读取文件或文件未打开。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用读取功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法读取该文件(例如因为缺少该文件)。
| |
EOFError — 为读取数据而指定的位置超过了可用的字节数(由 bytesAvailable 属性指定)。
|
truncate | () | 方法 |
public function truncate():void
运行时版本: | AIR 1.0 |
在由 FileStream 对象的 position
属性指定的位置截断文件。
删除从 position
属性指定的位置到文件末尾之间的字节。必须打开文件以进行写入。
引发
IllegalOperationError — 文件未打开,无法写入。
|
相关 API 元素
示例 ( 如何使用本示例 )
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();
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); }
writeBoolean | () | 方法 |
public function writeBoolean(value:Boolean):void
运行时版本: | AIR 1.0 |
写入布尔值。根据 value
参数写入单个字节。如果为 true
,则写入 1,如果为 false
,则写入 0。
参数
value:Boolean — 确定写入哪个字节的布尔值。如果该参数为 true ,则写入 1;如果为 false ,则写入 0。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeByte | () | 方法 |
public function writeByte(value:int):void
运行时版本: | AIR 1.0 |
写入一个字节。使用了该参数的低 8 位;忽略了高 24 位。
参数
value:int — 一个整型字节值。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeBytes | () | 方法 |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
运行时版本: | AIR 1.0 |
在指定的字节数组 bytes
中,从 offset
(使用从零开始的索引)指定的字节开始,向文件流、字节流或字节数组中写入一个长度由 length
指定的字节序列。
如果省略 length
参数,则使用默认长度 0 并从 offset
开始写入整个缓冲区。如果还省略了 offset
参数,则写入整个缓冲区。
如果 offset
或 length
参数超出范围,它们将被锁定到 bytes
数组的开头和结尾。
参数
bytes:ByteArray — 要写入的字节数组。
| |
offset:uint (default = 0 ) — 从零开始的索引,指定在数组中开始写入的位置。
| |
length:uint (default = 0 ) — 一个无符号整数,指定在缓冲区中的写入范围。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeDouble | () | 方法 |
public function writeDouble(value:Number):void
运行时版本: | AIR 1.0 |
写入 IEEE 754 双精度(64 位)浮点数。
参数
value:Number — 双精度(64 位)浮点数。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeFloat | () | 方法 |
public function writeFloat(value:Number):void
运行时版本: | AIR 1.0 |
写入 IEEE 754 单精度(32 位)浮点数。
参数
value:Number — 单精度(32 位)浮点数。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeInt | () | 方法 |
public function writeInt(value:int):void
运行时版本: | AIR 1.0 |
写入一个带符号的 32 位整数。
参数
value:int — 一个带符号的整型字节值。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeMultiByte | () | 方法 |
public function writeMultiByte(value:String, charSet:String):void
运行时版本: | AIR 1.0 |
使用指定的字符集将多字节字符串写入文件流、字节流或字节数组中。
参数
value:String — 要写入的字符串值。
| |
charSet:String — 表示要使用的字符集的字符串。可能的字符集字符串包括 "shift-jis" 、"cn-gb" 、"iso-8859-1" 等。有关完整列表,请参阅支持的字符集。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
相关 API 元素
writeObject | () | 方法 |
public function writeObject(object:*):void
运行时版本: | AIR 1.0 |
以 AMF 序列化格式将对象写入文件流、字节流或字节数组中。
参数
object:* — 要进行序列化处理的对象。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
相关 API 元素
writeShort | () | 方法 |
public function writeShort(value:int):void
运行时版本: | AIR 1.0 |
写入一个 16 位整数。使用了该参数的低 16 位;忽略了高 16 位。
参数
value:int — 一个整型字节值。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeUnsignedInt | () | 方法 |
public function writeUnsignedInt(value:uint):void
运行时版本: | AIR 1.0 |
写入一个无符号的 32 位整数。
参数
value:uint — 一个无符号的整型字节值。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeUTF | () | 方法 |
public function writeUTF(value:String):void
运行时版本: | AIR 1.0 |
将 UTF-8 字符串写入文件流、字节流或字节数组中。先写入以字节表示的 UTF-8 字符串长度(作为 16 位整数),然后写入表示字符串字符的字节。
参数
value:String — 要写入的字符串值。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
RangeError — 如果字符串的长度大于 65535 个字符。
| |
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
writeUTFBytes | () | 方法 |
public function writeUTFBytes(value:String):void
运行时版本: | AIR 1.0 |
写入一个 UTF-8 字符串。类似于 writeUTF()
,但不使用 16 位长度的词为字符串添加前缀。
参数
value:String — 要写入的字符串值。
|
事件
ioError: — 无法写入到该文件(例如因为缺少该文件)。仅对为进行异步操作而打开(使用 openAsync() 方法)的文件调度此事件。
|
引发
IOError — 文件尚未打开;文件已打开,但不是使用写入功能打开的;或对于已经打开以进行同步操作的文件(使用 open() 方法),无法写入该文件(例如因为缺少该文件)。
|
close | 事件 |
flash.events.Event
属性 Event.type =
flash.events.Event.CLOSE
运行时版本: | AIR 1.0 |
表示 close()
方法的显式调用已关闭流。
Event.CLOSE
常量定义 close
事件对象的 type
属性的值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 已关闭其连接的对象。 |
相关 API 元素
complete | 事件 |
flash.events.Event
属性 Event.type =
flash.events.Event.COMPLETE
运行时版本: | AIR 1.0 |
指出已到达流末尾。
Event.COMPLETE
常量定义 complete
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 已完成加载的网络对象。 |
相关 API 元素
ioError | 事件 |
flash.events.IOErrorEvent
属性 IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
运行时版本: | AIR 1.0 |
表示在异步文件 I/O 操作期间发生错误。
定义ioError
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
errorID | 与特定错误关联的引用编号(仅限 AIR)。 |
target | 发生输入/输出错误的网络对象。 |
text | 要显示为错误消息的文本。 |
outputProgress | 事件 |
flash.events.OutputProgressEvent
属性 OutputProgressEvent.type =
flash.events.OutputProgressEvent.OUTPUT_PROGRESS
运行时版本: | AIR 1.0 |
指出已将缓冲数据写入文件。
定义outputProgress
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
bytesPending | 在侦听器处理该事件时要写入的剩余字节数。 |
bytesTotal | 写入进程成功时最终将写入的总字节数。 |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 报告进度的 FileStream 对象。 |
progress | 事件 |
flash.events.ProgressEvent
属性 ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
运行时版本: | AIR 1.0 |
指出流上有可用的新数据。
定义progress
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
bytesLoaded | 在侦听器处理事件时加载的项数或字节数。 |
bytesTotal | 如果加载进程成功,最终将加载的项目或字节总数。 |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 报告进度的对象。 |
Tue Jun 12 2018, 11:04 AM Z