Добрый день,
Реализую
AIR приложение, которое представляет из себя uploader
больших файлов.
На рассмотрение: К примеру, вот такой вот код моей реализации, который из определенного файла загружает в byteArray его последние
READING_DATA_SIZE байт;

Код AS3:
package {
import flash.utils.ByteArray;
import flash.events.Event;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
public class Core {
private static const READING_DATA_SIZE:uint = 500;
private var _fileHandler:File;
private var _fileStream:FileStream;
public function Core() {
_fileHandler = new File("bigfile.bin");
trace("File Size:", _fileHandler.size);
_fileStream = new FileStream();
_fileStream.addEventListener(Event.COMPLETE, this.evFileLoadingCompleteHandler);
_fileStream.openAsync(_fileHandler, FileMode.READ);
// устанавливаем позицию, с которой будет производиться начало чтения данных файла;
_fileStream.position = _fileHandler.size - Core.READING_DATA_SIZE;
}
public function evFileLoadingCompleteHandler(e:Event):void {
var readingData:ByteArray = new ByteArray();
var instance:FileStream = e.currentTarget as FileStream;
instance.readBytes(readingData, 0, Core.READING_DATA_SIZE);
instance.close();
trace("Reading Data Size:", readingData.bytesAvailable);
}
}
}
Подскажите пожалуйста - верна ли данная реализация или существуют более быстрые или надежные способы?