Leudassdf Posted September 30, 2012 at 09:41 AM Report #477130 Posted September 30, 2012 at 09:41 AM 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
bioshock Posted September 30, 2012 at 05:44 PM Report #477194 Posted September 30, 2012 at 05:44 PM (edited) Dim lines As String() = IO.File.ReadAllLines("C:\Texto.txt") MsgBox(lines(1)) Edited September 30, 2012 at 05:44 PM by bioshock
Leudassdf Posted September 30, 2012 at 07:02 PM Author Report #477211 Posted September 30, 2012 at 07:02 PM 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 ?
rumbafum Posted September 30, 2012 at 09:51 PM Report #477239 Posted September 30, 2012 at 09:51 PM podes usar o ReadLine em vez do ReadAllLines. Chamando ReadLine duas vezes lerá a 1ªlinha e a 2ªlinha.
jpaulino Posted October 1, 2012 at 07:30 AM Report #477269 Posted October 1, 2012 at 07:30 AM Vê neste artigo diferentes formas, e qual o seu performance, de ler ficheiros de texto: VB.NET: Utilização de Ficheiros de Texto
Leudassdf Posted October 1, 2012 at 09:37 AM Author Report #477287 Posted October 1, 2012 at 09:37 AM 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
rumbafum Posted October 1, 2012 at 10:40 AM Report #477296 Posted October 1, 2012 at 10:40 AM 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
jpaulino Posted October 1, 2012 at 10:55 AM Report #477299 Posted October 1, 2012 at 10:55 AM Mas que tipo de ficheiro é (dados)? Qual é o objectivo?
Leudassdf Posted October 1, 2012 at 01:36 PM Author Report #477312 Posted October 1, 2012 at 01:36 PM 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.
pmg Posted October 1, 2012 at 01:44 PM Report #477314 Posted October 1, 2012 at 01:44 PM 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!
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