Jump to content

Dividir ficheiro de texto de grandes formatos por linhas


anonimou
 Share

Recommended Posts

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.