Показать сообщение отдельно
Старый 20.08.2011, 18:53
ERrorMAKros вне форума Посмотреть профиль Отправить личное сообщение для ERrorMAKros Посетить домашнюю страницу ERrorMAKros Найти все сообщения от ERrorMAKros
  № 1  
Ответить с цитированием
ERrorMAKros
 
Аватар для ERrorMAKros

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Question Вопрос по чтению данных из файла!

Добрый день,

Реализую 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);
		}
	}
}
Подскажите пожалуйста - верна ли данная реализация или существуют более быстрые или надежные способы?