Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 38466|Svare: 0

[Tips] Hvordan lagre en strøm til en fil i C#/.NET

[Kopier lenke]
Publisert 16.05.2021 kl. 21:12:58 | | |
Så på noen blogginnlegg på nettet om å lagre Stream i en fil,Mange er feil。 (Jeg fant flere problemer: dårlig ytelse, unormalt når strømmen er for stor)

Etter å ha fått en strøm, hvordan lagrer du denne strømmen elegant til kode

Den mest elegante metoden bør være gjennom CopyTo eller CopyToAsync


her inputStream.Seek(0, SeekOrigin.Begin); Ikke nødvendigvis, bruk denne koden etter dine egne behov, for eksempel at du bare trenger å kopiere strømmen fra den tiende byten, osv

Å bruke den asynkrone tilnærmingen vil ta litt lengre tid for denne skrivingen, men det vil gi den totale ytelsen bedre og la CPU-en håndtere andre oppgaver




Merk at når du bruker CopyToAsync, husk å legge til 'wait', når du kjører denne koden, overlater du utførelsen til IO, de fleste IO-prosesser krever ikke CPU for å beregne, slik at den totale ytelsen kan bli bedre

Også, hvis iputStream kommer inn utenfra, anbefaler jeg ikke å slippe den inne på denne måten, hvorfor? Jeg brukte en god bekk, og den ble drept da jeg døde i en bedrift

Den andre metoden er å styre minnereplikasjonscachen selv, som vil ha en ekstra minnekopi


Denne metoden lar deg endre verdien av ny byte[1024], noe som gir deg kontroll over den kopierte cachen

De neste er noen metoder som ikke anbefales, men de er praktiske når man skriver


Metoden ovenfor kopierer minnet to ganger, og hvis inngangsressurslengden er 1G, vil den oppta 2G med ressurser

På samme måte som ovenfor er det å be om en stor cache, som vist i følgende kode


Når det gjelder effektivitet og kode-eleganse, er de faktisk dårligere enn CopyTo-metoden, og på grunn av strøm. Lengde som lengde bestemmer ikke cachen, så den er ikke like god som den andre metoden

Nedenfor er en supertreg metode, én byte ganger én byte skriving er veldig treg


Overført fra:Innloggingen med hyperkoblingen er synlig.
(Slutt)




Foregående:NPOI Operation Excel Detaljert Forklaring
Neste:X-Forwarded-For flere IP-adresser i HTTP-forespørselsheaderen
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com