Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 38466|Svar: 0

[Tips] Sådan gemmer du en stream til en fil i C#/.NET

[Kopier link]
Opslået den 16-5-2021 kl. 21:12:58 | | |
Jeg har set nogle blogindlæg online om at gemme Stream til en fil,Mange er forkerte。 (Jeg fandt flere problemer: dårlig ydeevne, unormalt når strømmen er for stor)

Efter at have fået en stream, hvordan gemmer man elegant denne stream til kode

Den mest elegante metode bør være gennem CopyTo eller CopyToAsync


her inputStream.Seek(0, SeekOrigin.Begin); Ikke nødvendigvis, brug venligst denne kode efter dine egne behov, såsom at du kun behøver at kopiere strømmen fra den 10. byte osv

At bruge den asynkrone tilgang vil tage lidt længere tid for denne skrivning, men det vil give den samlede ydeevne bedre og tillade CPU'en at håndtere andre opgaver




Bemærk, at når du bruger CopyToAsync, skal du huske at tilføje 'wait', når du eksekverer denne kode, overlader du eksekveringen til IO, de fleste IO-processer kræver ikke CPU for at beregne, så den samlede ydeevne kan være bedre

Hvis iputStream kommer ind udefra, anbefaler jeg heller ikke at frigive den inde i denne metode, hvorfor? Jeg brugte en god stream, og den blev ødelagt, da jeg gik forbi i en virksomhed

Den anden metode er selv at styre hukommelsesreplikationscachen, som vil have en ekstra hukommelseskopi


Denne metode tillader dig at ændre værdien af den nye byte[1024], hvilket giver dig kontrol over den kopierede cache

Følgende er nogle metoder, der ikke anbefales, men de er praktiske ved skrivning


Ovenstående metode kopierer hukommelsen to gange, og hvis inputressourcen er 1G, vil den optage 2G ressourcer

Ligesom ovenfor er det at anmode om en stor cache, som vist i følgende kode


Med hensyn til effektivitet og kode-elegance er de faktisk ringere end CopyTo-metoden, og på grund af stream. Længde som længde bestemmer ikke cachen, så den er ikke lige så god som den anden metode

Nedenfor er en super langsom metode, én byte gange én byte skrivning er super langsom


Overført fra:Hyperlink-login er synlig.
(Slut)




Tidligere:NPOI Operation Excel Detaljeret Forklaring
Næste:X-Forwarded-For flere IP-adresser i HTTP-anmodningsheaderen
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com