3

我使用以下内容将文件上传到 Flex:

        private var filer:FileReference;
        protected function button1_clickHandler(event:MouseEvent):void
        {
            var fd:String = "Files (*)"; 
            var fe:String = "*"; 
            var ff:FileFilter = new FileFilter(fd, fe);
            filer = new FileReference();
            filer.addEventListener(Event.SELECT, onFileSelect);
            filer.browse(new Array(ff));
            filer.addEventListener(Event.COMPLETE, 
                function (e:Event):void {
                    e.currentTarget.data.toString();
                }
            );
        }
        private function onFileSelect(e:Event):void {
            filer.load(); 
        }

我的文件如下所示: 替代文字

这是原始文件:http ://sesija.com/up/1.txt

我需要阅读上传的文件并解析它。问题是e.currentTarget.data.toString();我只得到' 1'而不是字符串的其余部分。

关于如何成功读取整个 txt 文件的任何想法?

4

1 回答 1

1

data属性是一个ByteArray。不要使用该toString方法(显然将 NULL 字节视为字符串的结尾),而是使用 ByteArray 类的特定读取方法,例如readBytereadInt

var array:Array = [];
var ba:ByteArray = e.currentTarget.data as ByteArray;
while(ba.bytesAvailable != 0){
    array.push(ba.readByte());
}
trace(array.join(", "));

您可能想阅读使用字节数组

于 2010-09-27T12:06:49.190 回答