Počet řádků v textovém souboru   zodpovězená otázka

VB.NET, Optimalizace, I/O operace

Jak zjistit počet řádků v textovém souboru (i větším cca nad 10MB) s využitím co nejméně systémových prostředků (hlavně tedy paměti a procesoru)?

Ideální by bylo, pokud by se nezapočítávaly řádky začínající určitým znakem (např. ;).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jsem sice začátečník a nevím jak tento způsob zatěžuje paměť a procesor, ale postupoval bych následovně:

        Dim pocet_radku As Integer = 0
        Dim soubor As New IO.StreamReader("soubor.txt")
        While Not soubor.EndOfStream
            If soubor.ReadLine.StartsWith(";") = False Then
                pocet_radku += 1
            End If
        End While
        MsgBox("Počet řádků je: " & pocet_radku)

Doporučuju si přečíst seriál pro začátečníky, obzvláště pak díl č. 8, který se touto problematikou zabývá.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Takhle je to správně, jedinou možností je přečíst všechny řádky z textového souboru a přitom počítat ty, které začínají středníky. Zbytečně paměťově náročné to rozhodně není, to by bylo např. v případě, že byste nejdříve načetl celý soubor do paměti.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback