Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 38466|Svar: 0

[Tips] Hur man sparar en ström till en fil i C#/.NET

[Kopiera länk]
Publicerad den 2021-5-16 21:12:58 | | |
Tittade på några blogginlägg online om att spara Stream till en fil,Många är felaktiga。 (Jag hittade flera problem: dålig prestanda, onormalt när strålen är för stor)

Efter att ha fått en stream, hur sparar man denna stream elegant till kod

Den mest eleganta metoden bör vara genom metoden CopyTo eller CopyToAsync


här inputStream.Seek(0, SeekOrigin.Begin); Inte nödvändigtvis, använd denna kod enligt dina egna behov, till exempel att du bara behöver kopiera strömmen från den tionde bytet, etc

Att använda det asynkrona tillvägagångssättet tar lite längre tid för denna skrivning, men det ger den övergripande prestandan bättre och tillåter CPU:n att hantera andra uppgifter




Observera att när du använder CopyToAsync, kom ihåg att lägga till 'wait', när du kör denna kod överlämnar du exekveringen till IO, de flesta IO-processer kräver ingen CPU för att beräknas, vilket gör att den totala prestandan kan bli bättre

Om iputStream kommer in utifrån, rekommenderar jag inte att släppa ut den på den här sättet, varför? Jag använde en bra bäck och den försvann när jag gick bort i ett företag

Den andra metoden är att själv styra minnesreplikeringscachen, som kommer att ha en extra minneskopia


Vad denna metod gör är att du kan ändra värdet på den nya byte[1024], vilket ger dig kontroll över den kopierade cachen

Nästa är några metoder som inte rekommenderas, men de är praktiska när man skriver


Metoden ovan kopierar minnet två gånger, och om indataresursens längd är 1G kommer det att uppta 2G resurser

Liknande ovanstående är det att begära en stor cache, som visas i följande kod


När det gäller effektivitet och kodens elegans är de faktiskt sämre än CopyTo-metoden, och på grund av ström. Längd som längd avgör inte cachen, så den är inte lika bra som den andra metoden

Nedan är en superlångsam metod, en byte gånger en byte skrivande är superlångsamt


Överförd från:Inloggningen med hyperlänken är synlig.
(Slut)




Föregående:NPOI Operation Excel Detaljerad Förklaring
Nästa:X-Forwarded-För flera IP-adresser i HTTP-begäransökningshuvudet
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com