当您打开 FileStream 对象后,即可使用该对象从文件读取数据和向文件写入数据。通过将 File 对象传递到 FileStream 对象的
open()
或
openAsync()
方法,可以打开 FileStream 对象:
var myFile = air.File.documentsDirectory;
myFile = myFile.resolvePath("AIR Test/test.txt");
var myFileStream = new air.FileStream();
myFileStream.open(myFile, air.FileMode.READ);
fileMode
参数(
open()
和
openAsync()
方法的第二个参数)指定打开文件的模式:read、write、append 或 update。有关详细信息,请参阅上一部分
FileStream 打开模式
。
如果您使用
openAsync()
方法打开文件进行异步文件操作,请设置事件侦听器以处理异步事件:
var myFile = air.File.documentsDirectory.resolvePath("AIR Test/test.txt");
var myFileStream = new air.FileStream();
myFileStream.addEventListener(air.Event.COMPLETE, completeHandler);
myFileStream.addEventListener(air.ProgressEvent.PROGRESS, progressHandler);
myFileStream.addEventListener(air.IOErrorEvent.IOError, errorHandler);
myFileStream.open(myFile, air.FileMode.READ);
function completeHandler(event) {
// ...
}
function progressHandler(event) {
// ...
}
function errorHandler(event) {
// ...
}
打开文件进行同步操作还是异步操作取决于您使用
open()
方法还是
openAsync()
方法。有关详细信息,请参阅
AIR 文件基础知识
。
如果您在 FileStream 对象的打开方法中将
fileMode
参数设置为
FileMode.READ
或
FileMode.UPDATE
,则当打开 FileStream 对象后数据将立即读入读取缓冲区中。有关详细信息,请参阅
读取缓冲区和 FileStream 对象的 bytesAvailable 属性
。
您可以调用 FileStream 对象的
close()
方法关闭关联文件,使其他应用程序可以使用该文件。