Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Странное поведение FileReference.length (http://www.flasher.ru/forum/showthread.php?t=195806)

Driver86 13.03.2013 19:04

Странное поведение FileReference.length
 
Читаю файл, выбранный пользователем, и пытаюсь его разбить на куски.

Код AS3:

var fileRef:FileReference;
var ba:ByteArray = new ByteArray();
var i:Number = 1;
var ln:Number = 1000;
 
......
 
fileRef.data.readBytes(ba, i, ln);
 
trace(ba.length)

В итоге трейс выводит не 1000, как ожидалось, а 1001, т.е. ba.length == i + ln, почему? Я же считываю 1000 байтов, разве нет? Зачем приплюсовывается offset к length?

maxkar 13.03.2013 19:18

Зато вы их считываете с первой позиции, т.е. самый первый элемент в ba не заполняете. Поэтому 1 автоматический байт + 1000 ваших и дают 1001.

Wolsh 13.03.2013 19:40

Начало чтения задается fileRef.data.position, а параметр, в который Вы передаете 1 — это позиция начала Записи в ba.

Driver86 14.03.2013 05:41

Wolsh, спасибо, помогло :)


Часовой пояс GMT +4, время: 12:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.