anonimou Posted November 9, 2009 at 10:00 PM Report Share #295340 Posted November 9, 2009 at 10:00 PM Olá a todos, Estou com um grave problema... Preciso desenvolver uma aplicação para dividir um ficheiro de texto em quantas partes o utilizador quiser e gravar os conteudos das divisões noutros ficheiros. Exemplo: ter um ficheiro de texto orginal de 100 mgbs e dividir este ficheiro em 10 ficheiros de 10mgbs Só que estas divisões não podem cortar o conteudo das linhas. Até aqui não tenho problemas em desenvolver o código, escrevo primeiro um código para contar o número total de linhas do ficheiro de texto e em seguida mando cortar o ficheiro "NºLinhas total/nº ficheiros eu quero". Só que os meus ficheiros de textos podem ter até 20 gbs de informação... E é óbvio que não consigo por toda a informação numa string...já tentei por a ler e gravar os ficheiros por blocos de memoria de 2 mbs mas desta maneira pode me cortar uma linha e passar o restante dessa linha para o próximo ficheiro... alguem me pode ajudar neste assunto? Obrigado, Délio Pontes Link to comment Share on other sites More sharing options...
FreiNando Posted November 11, 2009 at 10:00 PM Report Share #295713 Posted November 11, 2009 at 10:00 PM Olá Eu já tive o mesmop problema com ficheiros de relatórios automáticos à alguns anos atrás. Na altura criei alguns procedimentos em VBA Excell para resolver o assunto, Basicamente comecei por abrir o dito ficheiro grande para leitura e outro novo para escrita, e fui copiando linha a linha. Usei um contador de linhas e um contador de caracteres que acumulava o comprimento de cada linha que lia. Depois de atingir um limite pré-estabelecido, fechava o novo ficheiro e abria um outro utilizando nomes sequenciais, e assim sucessivamente até atingir o fim do ficheiro original. O limite pré-estabelecido era calculado pelo tamanho do ficheiro original, sem exceder o limite razoavel para poder abrir no Notepad. O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now