Vereisten: Ik heb eerder geschreven dat het bestandsformaat wordt gecontroleerd door de header van het bestand, eigenlijkJe hoeft alleen de eerste paar bytes van het bestand te lezen om te beoordelen, en je hoeft niet het hele bestand te lezenDit artikel gebruikt Stream om de eerste paar bytes van een schijfbestand te lezen en de geheugenruimte te optimaliseren, wat het eigenlijk isLees op aanvraag。
Recensie:
gebruikenFile.ReadAllBytesAls je het hele applicatiebestand leest, zie je dat het programma erg druk is. Zoals hieronder getoond:
In feite kost het maar 2 bytes om te lezen om te bepalen of het bestand een applicatie is of nietStreamReaderLees de eerste 2 bytes van het bestand zoals hieronder weergegeven:
De hyperlink-login is zichtbaar.
Je kunt het zien uit het originele geheugenVerminderd gebruik van 287,11 MB naar 20,55 MB(Zonder het bestand te lezen, wordt het standaardgeheugen ingevuld nadat het programma is gestart: 20,02 MB), wat aantoont dat veel onnodige geheugenkosten worden bespaard. De code is als volgt:
Als we alleen het begin van de tekst willen zien, kunnen we het more-commando gebruiken om het te bekijken; hoe gebruiken we .NET/C#-code om de tekstinhoud te lezen?
Het wordt op twee manieren gelezen, en de code is als volgt:
Aangezien dit bestand platte tekst bevat,Als het UTF-8 of een ander coderingsformaat is, moeten de eerste paar bytes van het bestand worden genegeerd, dat wil zeggen, de positie van de stroom moet worden ingesteld (bijv. Positie = 2)。
(Einde)
|