Avatar billede danm Nybegynder
31. juli 2006 - 02:35 Der er 6 kommentarer og
1 løsning

Få antal linjer i text fil

Er der en nem måde, dvs en kommando eller lign, til at få antal tekstlinjer i en text fil på?

Man kunne selvfølgelig bruge en Do Loop funktion med streamreaderen og readline, men er der ikke en bedre måde nogen kender til, hvor man ikke skal køre hele tekstfilen igennem?
Avatar billede arne_v Ekspert
31. juli 2006 - 02:46 #1
medmindre du ved at alle linier er lige lange, så er du nød til at læse hele filen
for at finde antal linier
Avatar billede arne_v Ekspert
31. juli 2006 - 02:46 #2
om en løkke og ReadLine eller ReadToEnd og Split er smartest er vist en smagssag
Avatar billede danm Nybegynder
01. august 2006 - 00:16 #3
nu er alle linjer faktisk lige lange (128 tegn). er der en simpel måde at gøre det på så?

Men en readline løkke der læser hele filen, tager den lang tid? Filerne er ikke engang over 400 kb.

Den eneste grund til at jeg ville vide det er at mit program skal læse en linje, lave nogle beregninger ud fra det der står i linjen og derefter læse næste linje. Jeg ville så gerne have en progressbar koblet på så man kunne se hvor langt der er nået.
Avatar billede arne_v Ekspert
01. august 2006 - 02:23 #4
ja - tag filens længde (FileInfo Length) og divider med med 128+2

ikke specielt langt tid på en moderne harddisk, men hvis det skal laves mange gange så

alternativt kunne du lade total være filens længde i bytes og så lade
progressbar afspejle antal byes læst (husk at ligge 2 til for linieskift)
Avatar billede capn Nybegynder
01. august 2006 - 13:18 #5
kort fra hovedet:
Dim antalLinjer As Integer = my.Computer.FileSystem.ReadAllText("fil.txt").Lines.Length

skulle returnere antallet af linjer i filen. Hvordan det er implementeret er jeg ikke helt klar over, men hvis det kun drejer sig om få filer af moderat størrelse vil jeg tro performance er ok.

Bemærk at my-klassen kun er med i .Net 2.0
Avatar billede danm Nybegynder
24. august 2006 - 12:36 #6
Ok takker

Smid et svar
Avatar billede capn Nybegynder
24. august 2006 - 20:26 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester