Krav: Jeg skrev tidligere at filformatet faktisk sjekkes av filens headerDu trenger bare å lese de første få bytene av filen for å vurdere, og du trenger ikke å lese hele filenDenne artikkelen bruker Stream til å lese de første bytene av en diskfil og optimalisere minneplassen, som faktisk er det det erLes på forespørsel。
Anmeldelse:
brukFile.ReadAllBytesNår du leser hele søknadsfilen, kan du se at programmet er veldig opptatt. Som vist nedenfor:
Faktisk tar det bare 2 byte å lese for å avgjøre om filen er et program eller ikkeStreamReaderLes de første 2 bytene av filen som vist nedenfor:
Innloggingen med hyperkoblingen er synlig.
Du kan se fra det opprinnelige minnetRedusert bruk fra 287,11 MB til 20,55 MB(Uten å lese filen tas standardminnet opp etter at programmet starter: 20,02 MB), noe som viser at mange unødvendige minnekostnader spares. Koden er som følger:
Hvis vi bare vil se begynnelsen av teksten, kan vi bruke more-kommandoen for å vise den, hvordan bruker vi .NET/C#-kode for å lese tekstinnholdet?
Den leses på to måter, og koden er som følger:
Siden denne filen er ren tekstinnhold,Hvis det er UTF-8 eller et annet kodingsformat, må de første få bytene i filen ignoreres, det vil si at posisjonen til strømmen må settes (f.eks. Position = 2)。
(Slutt)
|