Flash Air 3.2 FileStream 结果 'undefined'
Flash Air 3.2 FileStream resulting 'undefined'
我正在使用 Flash Air 3.2(旧的,我知道),我试图通过使用 FileStream 读取文本文件开始。我找到的代码找到了文件,并将文本放入文件中,但每当我尝试 运行 代码时,它都会 returns 'undefined'。这是我的代码:
import flash.filesystem.*
import flash.net.*
import flash.utils.ByteArray;
import flash.events.*
var myFile:File = File.applicationStorageDirectory.resolvePath("test.txt");
var myFileStream:FileStream = new FileStream();
myFileStream.addEventListener(Event.COMPLETE, completeHandler);
myFileStream.openAsync(myFile, FileMode.READ);
var bytes:ByteArray = new ByteArray();
function completeHandler(event:Event):void
{
myFileStream.readBytes(bytes, 0, myFileStream.bytesAvailable);
trace(myFileStream.readBytes(bytes, 0, myFileStream.bytesAvailable));
}
非常感谢任何帮助!
您未定义,因为 FileStream 的 readBytes
方法具有 void
的 return 类型。从该方法读取的字节被放入您传递给它的字节数组中,而不是直接从该方法中 returned。
myFileStream.readBytes(bytes, 0, myFileStream.bytesAvailable); //this returns void/undefined by design regardless of the contents of bytes
trace(bytes); //this will trace the byte array object that was populated with the above line
如果您只是想阅读文本文件,您应该可以使用快捷方式:
myFileStream.readUTF();
我正在使用 Flash Air 3.2(旧的,我知道),我试图通过使用 FileStream 读取文本文件开始。我找到的代码找到了文件,并将文本放入文件中,但每当我尝试 运行 代码时,它都会 returns 'undefined'。这是我的代码:
import flash.filesystem.*
import flash.net.*
import flash.utils.ByteArray;
import flash.events.*
var myFile:File = File.applicationStorageDirectory.resolvePath("test.txt");
var myFileStream:FileStream = new FileStream();
myFileStream.addEventListener(Event.COMPLETE, completeHandler);
myFileStream.openAsync(myFile, FileMode.READ);
var bytes:ByteArray = new ByteArray();
function completeHandler(event:Event):void
{
myFileStream.readBytes(bytes, 0, myFileStream.bytesAvailable);
trace(myFileStream.readBytes(bytes, 0, myFileStream.bytesAvailable));
}
非常感谢任何帮助!
您未定义,因为 FileStream 的 readBytes
方法具有 void
的 return 类型。从该方法读取的字节被放入您传递给它的字节数组中,而不是直接从该方法中 returned。
myFileStream.readBytes(bytes, 0, myFileStream.bytesAvailable); //this returns void/undefined by design regardless of the contents of bytes
trace(bytes); //this will trace the byte array object that was populated with the above line
如果您只是想阅读文本文件,您应该可以使用快捷方式:
myFileStream.readUTF();