Jump to content

Recommended Posts

Posted

Boas pessoal.

Alguem sabe como posso ler uma linha especifica num bloco de notas? por exemplo eu quero a linha nº1, e a nº2. e quero mostra-la numa txt. Isto é possivel?

Ja experientei alguns metodos digamos assim mas sem sucesso.

O que ja tenho declarado e o seguinte: Dim ler As new System.IO.StreamReader("C:\Users\user1\Desktop\teste - Cópia.txt")

Ou seja eu quero ler a 1 e a 2 linha deste bloco de notas.

Alguem sabe resolver isto?

Cumprimentos

Posted

Dim lines As String() = IO.File.ReadAllLines("C:\Texto.txt")
MsgBox(lines(1))

Nao existe outra maneira? o problema e que sao milhoes de linhas o que leva o programa a terminar.

Nao há a possibilidade de filtrar apenas as linhas que quero ?

Posted

podes usar o ReadLine em vez do ReadAllLines. Chamando ReadLine duas vezes lerá a 1ªlinha e a 2ªlinha.

o probelma e que se eu precisar de aceder ao dado 116000000 demoro uma eternidade. se for por uma base de dados e praticamente instantaneo. O unico senao e o tempo que demora para inserir todos estes dados numa bd

Vê neste artigo diferentes formas, e qual o seu performance, de ler ficheiros de texto: VB.NET: Utilização de Ficheiros de Texto

Esta forma tambem ja tinha visto. mas ir diretamente a linha é que nunca encontrei. porque é realmente complicado ler os dados todos de uma vez porque sao 116000000 e isso demora uma eternidade

Posted

Sinceramente nunca fiz nada parecido... Mas diria que só será possível saltares para uma linha caso as linhas do ficheiro tenham um tamanho fixo para conseguires calcular o offset.

Sem essa informação a melhor opção provavelmente é o ReadLine dentro de um ciclo

Posted

Mas que tipo de ficheiro é (dados)? Qual é o objectivo?

O ficheiro e txt. os dados que nele se encontram sao numeros e texto. Por exemplo tenho lá [n]21-2-3-4[EN]

o exemplo está na linha 100003

Ou seja se eu tiver que percorrer as linhas para chegar a esse texto demoro imenso tempo.

Posted

Se puderes "preprocessar" o ficheiro de dados antes (se ele não far mais ou menos constante; ou seja se só tem dados novos uma vez por semana por exemplo) podes criar um ficheiro binário paralelo com os indices das linhas do ficheiro original (talvez com o indice de 100 em 100 linhas se necessário).

Depois pesquisas no ficheiro paralelo o indice da linha pretendida e acedes ao ficheiro original como se ele fosse um ficheiro binário.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

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
×
×
  • 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.