Como havia prometido, um jeito de tratar as informações que estão em um
arquivo diretamente em bytes, só convertendo os dados já completos:

http://asflake.com/TesteBytes.zip

Hospedei ao invés de enviar por aqui porque incluí um arquivo bat que
"infla" o arquivo "posicoes.csv", o deixando com mais ou menos 80MB, e o
gmail é chatinho com esse tipo de arquivo, mesmo zipado...

Veja se atende (ao menos em partes) as suas necessidades.

--
Gustavo Y. Kawamoto


2009/12/17 J.C.Ködel <jcko...@gmail.com>

>  Tem uma rotina que uso para separação de packets em socket que pode lhe
> ajudar:
>
> 1) Abra um FileStream do teu arquivo.
> 2) Leia uma quantidade razoável de dados do arquivo (ex.: 32767 bytes)
> 3) Verifique com indexOf no array acima se há um separador de linha (\n)
> 4) Copie o array acima para outro array, lendo até onde há o separador de
> linha (pode converter direto para string, adicionando apenas um zero no
> final)
> 5) Copie o restante do primeiro array para outro e use ele para adicionar a
> próxima leitura
> 6) Repita o processo até todo o arquivo ser lido
>
> Com isso você consegue consumir pouca memória e ler o arquivo aos poucos,
> mas é um processo mais lento também.
>
>
>  *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
> *Sent:* Thursday, December 17, 2009 3:08 PM
> *To:* flexdev@googlegroups.com
> *Subject:* Re: [flexdev] Leitura de arquivo > 250 MB
>
> Sim é texto
>
> informações de fatura telefonica detalhada
> que será lido e apresentado gráficamente + funcionalidades como gráficos
>
> ainda estou tentando acertar o algoritmo de leitura... ler o arquivo blz
> agora
> o problema está em converter de bytes para String o arquivo lido ^^
>
>
>
> 2009/12/17 Gustavo Kawamoto <gust...@asflake.com>
>
>> 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
>>
>
>
>
> --
> 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