Cara, só uma dúvida: é 250MB de TEXTO?

Já tentou quebrar o arquivo em ByteArrays menores, usando o writeBytes?

--
Gustavo Y. Kawamoto


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

> Me empolguei...
>
> resolveu parcialmente =/
>
> estava revisando esse método ali me cortou o texto do arquivo e faltou um
> bom pedaço,
> mas pelo menos resolveu o problema do processamento, agora tenho q achar
> outro meio
> de otimizar essa leitura do arquivo.... :P
>
>
>
> 2009/12/17 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>
>> 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
>>
>
>
>
> --
> 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
>

-- 
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