Cara, o único problema que você tá tendo é o de processar a string do arquivo, certo? O algoritmo precisa de todos os pedaços da String? Porque você não faz o seguinte: divide o arquivo em um Array de ByteArray e os lê conforme a necessidade? Já tive que fazer algo parecido (porém não chegava a 250MB rs) e resolvi dessa forma: Array de ByteArray, lendo parte por parte e processando conforme a necessidade. Outra coisa que ajudou foi que os dados que o arquivo continha eram divididos por quebras de linha, então eu varria o ByteArray por quebras de linha e só extraía a informação necessária. Então se houver um padrão que a gente possa trabalhar antes de converter o arquivo pra String, vai ser melhor.
Depois posto alguns exemplos de como fazê-lo (assim que tiver um tempinho rs). -- Gustavo Y. Kawamoto 2009/12/17 Mário Júnior <juninho...@gmail.com> > Haa.. pra reforçar o primeiro item, com AIR sua app fica independente de SO > (var rodar no win, mac e linux). > Nao sei para os clientes corporativos, mas eu como cliente "pessoa física" > da empresa telefonica só tenho a opção do EXE, oq não rola no meu Mac... e > vou te falar como usuario, isso é muito chato :( > > Discuta com o seu pessoal aí... acho q o seu caso é um caso ótimo para o > uso do AIR. > > > Um forte abraço > > > > > 2009/12/17 Mário Júnior <juninho...@gmail.com> > > Opa Erko. >> >> Cara.. sua missao é dificil, nao impossivel, mas dificil pq vc pode >> esbarrar muito nas limitacoes do player e a falta de recursos (oq teríamos >> facil em java, ou qualquer outra linguagem server-side). >> >> Enfim, como alternativa, eu proponho que vc altere seu projeto para AIR, >> pelos seguintes motivos: (por nao conhecer todo o contexto, pode ser q >> alguns motivos - ou todos - sejam anulados =D )\ >> >> 1) Hoje vcs já tem um aplicativo (sei do EXE, nao sei se tem para outras >> plataformas - linux, mac), entao nao acho q seria ruim continuar com um >> aplicativo específico para esses clientes corporativos, entao migrar para >> AIR nao é um "tiro no pé". >> >> 2) Com AIR vc poderia manipular esses arquivos com mais facilidade usando >> a File API. >> >> 3) Com AIR, vc pode ter TODOS os mesmos recursos interativos de view para >> sua APP, mesmo nao sendo uma "internet application", ela ainda pode ser >> Rica! Como meu amigo >> Stefan diz, RIA poderia mudar de "Rich *Internet* Applications" para >> "Rich *Interactive* Applications" =D >> >> 4) A Runtime do AIR tem o desempenho bem melhor que o Flash Player e o GC >> dele funciona bem melhor. >> >> 5) Distribuir esse aplicativo é facil usando o Badge ( >> http://www.adobe.com/devnet/air/articles/badge_for_air.html), assim seus >> clientes corporativos podem acessar a página do badge e instalar seu >> aplicativo facilmente. Haa!! Detalhe Importante: Se eles não tem AIR Runtime >> na máquina, o Badge instala junto!!! Massa né?! =D >> >> 6) AIR AutoUpdate ( >> http://www.horochovec.com.br/blog/2009/08/14/air-criando-uma-aplicacao-com-atualizacao-automatica-parte-iii/ >> ) >> Os clientes que já tiverem seus aplicativos, poderão atualizar usando o >> proprio Auto Update do AIR, como o Stefan mostra no artigo (recomendo a >> leitura desde a parte I, é muito fácil) >> >> >> Enfim... verifique essa possibilidade. >> >> >> Abraços. >> >> >> >> >> 2009/12/17 Vítor Avelino <vito...@gmail.com> >> >> Não teria como fazer isso do lado do back-end não? Meio retórica, mas vale >>> a tentativa... >>> >>> 2009/12/17 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com> >>> >>> O problema que o ActionScript 3 não tenho muitas coisas >>>> q eu faria brincando manipulação de bytes como no java :P >>>> >>>> descobri que vou ter que de algum jeito ler em blocos os bytes... >>>> que é oq estou tentando fazer nessa tarde, mas por enquanto >>>> sem sucesso :P >>>> >>>> >>>> >>>> 2009/12/17 Edgard Davidson <edgard.david...@gmail.com> >>>> >>>> Olá Ekro. >>>>> O projeto que citei foi implementado todo em delphi. >>>>> Eu usei uma técnica de leitura de arquivo chamada "Mapped File", mas >>>>> essa técnica é muito baixo nível. Usava chamadas privilegiadas da API do >>>>> Windows. Eu não tenho link, eu tirei o parte do fonte de um livro de >>>>> Delphi >>>>> 2 Advanced. >>>>> Mas acredito que se fizer a paginação do arquivo texto você conseguirá. >>>>> O problema que vejo é que se seu arquivo não for padronizado, ou seja, >>>>> como é um arquivo texto provavelmente cada linha deve ter uma quantidade >>>>> diferentes de caracteres, se isso é verdade, irá dificultar o calculo na >>>>> paginação. No meu projeto eu tinha esse problema, então a solução foi >>>>> adicionar espaços em branco no final de cada linha. Dessa forma todas as >>>>> linhas do meu relatório tinham 132 colunas (ou caracteres). Desse jeito >>>>> para >>>>> calcular a paginação era mole. >>>>> Em cada paginação eu trazia 66 linhas, cada uma contendo 132 >>>>> caracteres. Agora para paginar é só manipulação de arquivo ((132 * 66) * >>>>> Deslocamento), onde Deslocamento era a posição do scroll que o usuário >>>>> rolava. Fazia um seek no arquivo e boa!!! >>>>> >>>>> >>>>> 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 >>>>>> >>>>>> -- >>>>>> 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 >>>> >>>> -- >>>> 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 >>> >> >> >> >> -- >> Mario Junior >> Enterprise Java / Flex Architectures >> Adobe Certified Expert Flex 3 with AIR >> >> Sofshore Informática >> http://www.sofshore.com.br >> +55 (48) 3337 2003 >> Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi >> Florianopolis SC Brasil >> > > > > -- > Mario Junior > Enterprise Java / Flex Architectures > Adobe Certified Expert Flex 3 with AIR > > Sofshore Informática > http://www.sofshore.com.br > +55 (48) 3337 2003 > Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi > Florianopolis SC Brasil > > -- > 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