Aeeeeeeeeeeeeeeeee

resolvi o problema da leitura de arquivos com mais de 250 MB


// recupera o array de bytes do arquivo
var data:ByteArray = fileReference.data;

// lê os bytes do arquivo para uma String
//fileContent = data.readUTFBytes(data.bytesAvailable);
fileContent = data.readUTF();

só mudar o método para este ali e resolveu tudo,
não estrangulou mais o processador e dei um fim no vortex de memória RAM ^^

*lembrando:*
abrir um arquivo texto, em uma aplicação Adobe Flex, sdk 3.4, Flash Player
10
lendo o arquivo diretamente do computador do usuário, através da classe:
FileReference

fica a dica o/




2009/12/17 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>

> já verifiquei que a leitura e load do arquivo grande ali está tranquilo,
> mas na hora de converter para String...
>
> um vortex de memoria RAM aparece e o processador vai a loucura...
>
>  // recupera o array de bytes do arquivo
> var data:ByteArray = fileReference.data;
>
> // lê os bytes do arquivo para uma String
> fileContent = data.readUTFBytes(data.bytesAvailable);
>
> alguém tem uma dica para otimizar esse processo de converter os Bytes para
> String? ^^
>
>
>
>
> 2009/12/17 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>
> Segundo a documentação
>>
>> http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/net/FileReference.html?filter_flex=4#load()
>>
>> é para aguentar mais de 100 MB a leitura do arquivo...
>>
>> no projeto atualizei o SDK para usar o 3.4 e forçando na definição do
>> Flash Player Runtime para 10 =]
>>
>> tentando ajustar o novo código de leitura e parse do arquivo
>> vamos ver nq vai dar isso ^^
>>
>>
>>
>> 2009/12/16 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>>
>>> Cara muito legal essa tua ideia,
>>>
>>> hj nas minhas leituras e pesquisas estou indo +- para essa linha
>>>
>>> por acaso tu tem links do assunto ae?
>>>
>>> ps.: achei pouco material sobre ^^
>>>
>>> muito obrigado pela ajuda o/
>>>
>>> 2009/12/16 Edgard Davidson <edgard.david...@gmail.com>
>>>
>>> Olá Erko
>>>> Uma vez desenvolvi um projeto que tinha o mesmo problema. Naquela
>>>> ocasião eu tinha que ler um arquivo texto contábil com mais de 4 milhões de
>>>> linhas, o que dava mais ou menos uns 5GB.
>>>> Então, usei como analogia aos players de vídeos. Imagine, um vídeo de
>>>> 1GB como o pc rada? Bom o vilme tem 1GB e uma hora e meia, só que você irá
>>>> ver segundo por segundo, e cada segundo são 30 frames. Nesse caso, pq então
>>>> colocar todo o vídeo em memória.
>>>> Com essa analogia desenvolvi o projeto, onde eu linha blocos do arquivo
>>>> texto e mandava para a interface, como o usuário só é capaz de ler uma
>>>> página por vez, então quando ele paginava, eu voltava ao arquivo original,
>>>> recalculava o deslocamento que ele fez com base no movimento do scoll e
>>>> trazia novamente mais um pedaço do arquivo. Nessa brincadeira, das milhares
>>>> de páginas que meu arquivo texto tinha, eu só retornava 64 linhas por vez, 
>>>> o
>>>> que dava mais ou menos uns 50 kb.
>>>> Dessa forma consegui resolver o problema e a aplicação ficou um
>>>> foguete!!!
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2009/12/16 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>>>>
>>>> Então o drama é o seguinte
>>>>>
>>>>> o cliente já fez o download do arquivo com as informações
>>>>> que varia de 20 a 250+ MB para os clientes corporativos
>>>>>
>>>>> agora se eu tiver q mandar isso via internet para o servidor
>>>>> para depois voltar
>>>>>
>>>>> 250 MB download
>>>>> 250 MB upload
>>>>> -250 MB download (creio eu que menos dq o valor inicial em objetos)
>>>>>
>>>>> arredondando essa brincadeira: 750 MB de tráfego na internet...
>>>>>
>>>>> isso para ver um arquivo é insano ^^
>>>>>
>>>>> se bem q eu já apresentei esse cenário na reunião q teve hj o pessoal
>>>>> meio que aceitou o absurdo e a principio vamos limitar em 100 MB que a
>>>>> app
>>>>> o Adobe Flash Player Runtime aguentou ler ^^
>>>>>
>>>>> mas continuo a leitura sobre manipulação de arquivos no Adobe Flash
>>>>> Player 10+
>>>>>
>>>>> o/
>>>>>
>>>>>
>>>>> 2009/12/15 J.C.Ködel <jcko...@gmail.com>
>>>>>
>>>>>>  OPs. Esqueci do resto: não, não fiz jogos em Flex (ainda). Pura
>>>>>> falta de tempo.
>>>>>>
>>>>>> O jogo em questão era o bom e velho Ultima Online (www.uo.com) com um
>>>>>> servidor customizado feito em C# (www.runuo.com)
>>>>>>
>>>>>>
>>>>>>  *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>>>>>> *Sent:* Tuesday, December 15, 2009 2:47 PM
>>>>>> *To:* flexdev@googlegroups.com
>>>>>> *Subject:* Re: [flexdev] Leitura de arquivo > 250 MB
>>>>>>
>>>>>> Tenho um projeto aki
>>>>>>
>>>>>> Adobe Flex  (interface)
>>>>>> BlazeDS (Java - Server)
>>>>>>
>>>>>> de Telecom, onde os clientes corporativos
>>>>>> irão ter uma aplicação em Flex para ler/carregar e
>>>>>> visualizar as informações detalhadas de suas contas
>>>>>> telefonicas
>>>>>>
>>>>>> o problema q os clientes corporativos pode ter casos
>>>>>> de um arquivo com mais de 200 MB
>>>>>>
>>>>>> para arquivos de até 50 MB a aplicação
>>>>>> está lidando tranquilamente, a leitura do arquivo,
>>>>>> isto a parte em Adobe Flex =]
>>>>>>
>>>>>> o arquivo está na máquina do cliente
>>>>>>
>>>>>> no geral a aplicação consiste em geral em um visualizador
>>>>>> gráfico desse arquivo, que vai apresentar gráficos
>>>>>> e opções de calculos e filtros ^^
>>>>>>
>>>>>> bom se tu souber algo relacionado a leitura de arquivos grandes
>>>>>> textuais no Adobe Flex e/ou AIR
>>>>>>
>>>>>> qq link, referencia já é uma luz ^^
>>>>>>
>>>>>> muito obrigado o/
>>>>>>
>>>>>> ----
>>>>>>
>>>>>> ps.: tu desenvolve games com Adobe Flex é? tem algo publicado, mesmo
>>>>>> post
>>>>>> sobre o assunto?
>>>>>>
>>>>>> eu curto games ^^
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2009/12/15 J.C.Ködel <jcko...@gmail.com>
>>>>>>
>>>>>>>  Já fiz projetos que tinham que ler mais do que 2 Gb para a memória
>>>>>>> (um servidor de jogos online). Imagine um jogo online com milhões de 
>>>>>>> itens
>>>>>>> distribuídos em 7 mapas gigantescos com milhares de jogadores online, 
>>>>>>> tudo
>>>>>>> em memória e sendo persistido pra disco de tempos em tempos.
>>>>>>>
>>>>>>> Por motivos de performance, foi feito via PInvoke.
>>>>>>>
>>>>>>> Qual plataforma e linguagem pretende utilizar?
>>>>>>>
>>>>>>>  *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>>>>>>> *Sent:* Tuesday, December 15, 2009 11:20 AM
>>>>>>> *To:* flexdev@googlegroups.com
>>>>>>> *Subject:* [flexdev] Leitura de arquivo > 250 MB
>>>>>>>
>>>>>>> Olá pessoal blz?
>>>>>>>
>>>>>>> sei que isso é insano, mas tenho um caso aqui
>>>>>>> que preciso ler um arquivo de 250+ MB e joga-lo para memória
>>>>>>>
>>>>>>> que representam uma coleção de objetos
>>>>>>>
>>>>>>> alguem aqui já teve a necessidade de ler um arquivo tão grande assim?
>>>>>>>
>>>>>>> conhece alguma referencia/link sobre o assunto?
>>>>>>>
>>>>>>> grato pela ajuda ^^
>>>>>>>
>>>>>>> --
>>>>>>> Att,
>>>>>>> Erko Bridee de Almeida Cabrera
>>>>>>> http://erkobridee.com/
>>>>>>> http://gospel.erkobridee.com/
>>>>>>> http://www.cwbfx.com/
>>>>>>> http://twitter.com/ErkoBridee
>>>>>>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>>>>>>
>>>>>>> --
>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>>> flexdev@googlegroups.com
>>>>>>> Para sair da lista, envie um email em branco para
>>>>>>> flexdev-unsubscr...@googlegroups.com
>>>>>>> Mais opções estão disponíveis em
>>>>>>> http://groups.google.com/group/flexdev
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Att,
>>>>>> Erko Bridee de Almeida Cabrera
>>>>>> http://erkobridee.com/
>>>>>> http://gospel.erkobridee.com/
>>>>>> http://www.cwbfx.com/
>>>>>> http://twitter.com/ErkoBridee
>>>>>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>>>>>
>>>>>> --
>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>> flexdev@googlegroups.com
>>>>>> Para sair da lista, envie um email em branco para
>>>>>> flexdev-unsubscr...@googlegroups.com
>>>>>> Mais opções estão disponíveis em
>>>>>> http://groups.google.com/group/flexdev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Att,
>>>>> Erko Bridee de Almeida Cabrera
>>>>> http://erkobridee.com/
>>>>> http://gospel.erkobridee.com/
>>>>> http://www.cwbfx.com/
>>>>> http://twitter.com/ErkoBridee
>>>>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>>>>
>>>>> --
>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>> flexdev@googlegroups.com
>>>>> Para sair da lista, envie um email em branco para
>>>>> flexdev-unsubscr...@googlegroups.com
>>>>> Mais opções estão disponíveis em
>>>>> http://groups.google.com/group/flexdev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Edgard Davidson.
>>>> blog:edgarddavidson.com
>>>> skype:edgarddavidson
>>>> twitter:http://twitter.com/edgarddavidson
>>>> LindedIn:http://br.linkedin.com/in/edgarddavidson
>>>> FaceBook:
>>>> http://pt-br.facebook.com/people/Edgard-Davidson/100000408023347
>>>>
>>>>  --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>>> Para sair da lista, envie um email em branco para
>>>> flexdev-unsubscr...@googlegroups.com
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>>
>>>
>>>
>>>
>>> --
>>> Att,
>>> Erko Bridee de Almeida Cabrera
>>> http://erkobridee.com/
>>> http://gospel.erkobridee.com/
>>> http://www.cwbfx.com/
>>> http://twitter.com/ErkoBridee
>>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>>
>>
>>
>>
>> --
>> Att,
>> Erko Bridee de Almeida Cabrera
>> http://erkobridee.com/
>> http://gospel.erkobridee.com/
>> http://www.cwbfx.com/
>> http://twitter.com/ErkoBridee
>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>
>
>
>
> --
> Att,
> Erko Bridee de Almeida Cabrera
> http://erkobridee.com/
> http://gospel.erkobridee.com/
> http://www.cwbfx.com/
> http://twitter.com/ErkoBridee
> Currículo: http://netcarreiras.com/prof.html?uid=11410
>



-- 
Att,
Erko Bridee de Almeida Cabrera
http://erkobridee.com/
http://gospel.erkobridee.com/
http://www.cwbfx.com/
http://twitter.com/ErkoBridee
Currículo: http://netcarreiras.com/prof.html?uid=11410

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a