Actionscript 3 Flash Air 3.2文件流生成';未定义';
我正在使用FlashAIR3.2(我知道是旧的),我正试图从使用FileStream读取文本文件开始。我的代码找到了文件,我在文件中放了文本,但每当我尝试运行代码时,它都会返回“undefined”。这是我的密码:Actionscript 3 Flash Air 3.2文件流生成';未定义';,actionscript-3,flash,air,Actionscript 3,Flash,Air,我正在使用FlashAIR3.2(我知道是旧的),我正试图从使用FileStream读取文本文件开始。我的代码找到了文件,我在文件中放了文本,但每当我尝试运行代码时,它都会返回“undefined”。这是我的密码: import flash.filesystem.* import flash.net.* import flash.utils.ByteArray; import flash.events.* var myFile:File = File.applicationStorageDir
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));
}
非常感谢您的帮助 由于a的
readBytes
方法的返回类型为void
,因此未定义。从该方法读取的字节被放入您传递给它的字节数组中,而不是直接从该方法返回
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();