Проблем при анализиране на кодирани данни?

Имам някакъв торент файл със списък с URL адреси за обявяване, напр. това е частта от него:

announce-listll68:http://iptorrents.com:2790/b6d18a815ab4421a86de672d6833369d/announceel67:http://iptorrents.me:2710/b6d18a815ab4421a86de672d6833369d/announceel67:http://iptorrents.ru:6969/b6d18a815ab4421a86de672d6833369d/announceee

Ето един масив с ключ «announce-list», който съдържа три елемента (бенкодирани данни, http://en.wikipedia.org/wiki/Bencode). Така че използвам клас BDecoder.java от Aeltis, за да го декодирам. Докато анализирам, получавам следните стойности на Map:

{created by=[B@141d683, announce=[B@16a55fa, encoding=[B@32c41a, announce-list=[[[B@e89b94], [[B@13e205f], [[B@1bf73fa]], comment=[B@5740bb, creation date=1310060702, info={pieces=[B@5ac072, name=[B@109a4c, length=34209795, piece length=65536, private=1}}

Така че обявете списък, пълен с някои хешове. И така, как мога да го конвертирам в нормален низ (като «http://iptorrents.com:2790/b6d18a815ab4421a86de672d6833369d/announce»)? Или това е някакъв проблем с алгоритъма в BDecoder.java?

Това е методът от по-висок клас за декодиране на данни: http://pastebin.com/HimqF0ye


person Clark    schedule 22.07.2011    source източник


Отговори (1)


Обектът, върнат във вашия случай, е обща карта, без дефиниран тип. Така че предполагам, че когато се опитате да отпечатате стойностите, се отпечатват само адресите. Опитайте да прехвърлите стойностите на Map към String и това трябва да свърши работа.

С Най-Добри Пожелания,

Баптист

person Bat    schedule 28.07.2011