Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 38466|Odpoveď: 0

[Tipy] Ako uložiť stream do súboru v C#/.NET

[Kopírovať odkaz]
Zverejnené 16. 5. 2021 21:12:58 | | |
Pozrel som si niektoré blogové príspevky online o ukladaní Streamu do súboru,Mnohé sa mýlia。 (Našiel som niekoľko problémov: slabý výkon, abnormálne, keď je stream príliš veľký)

Po získaní streamu, ako elegantne uložiť tento stream do kódu

Najelegantnejšou metódou by mala byť metóda CopyTo alebo CopyToAsync


tu inputStream.Seek(0, SeekOrigin.Begin); Nie nevyhnutne, prosím, použite tento kód podľa vlastných potrieb, napríklad stačí skopírovať stream z 10. bajtu a podobne

Použitie asynchrónneho prístupu potrvá tento zápis o niečo dlhšie, ale celkový výkon sa zvýši a umožní CPU zvládnuť aj iné úlohy




Všimnite si, že pri používaní CopyToAsync nezabudnite pridať await, pri vykonávaní tohto kódu odovzdáte vykonávanie IO, väčšina IO spracovania nevyžaduje CPU na výpočty, takže celkový výkon môže byť lepší

Tiež, ak iputStream prichádza zvonku, neodporúčam ho uvoľňovať touto metódou, prečo? Použil som dobrý potok a ten bol zničený, keď som prechádzal v podniku

Druhou metódou je ovládať replikáciu cache pamäte sami, ktorá bude mať ďalšiu kópiu pamäte


Táto metóda vám umožňuje upraviť hodnotu nového bajtu[1024], čím získate kontrolu nad skopírovanou cache

Ďalšie sú niektoré metódy, ktoré sa neodporúčajú, ale sú pohodlné pri písaní


Vyššie uvedená metóda skopíruje pamäť dvakrát, a ak je dĺžka vstupného zdroja 1G, zaberie 2G zdrojov

Podobne ako vyššie je požiadavka na veľkú cache, ako je ukázané v nasledujúcom kóde


Čo sa týka efektivity a elegancie kódu, sú v skutočnosti horšie ako metóda CopyTo, a to kvôli streamu. Dĺžka ako dĺžka neurčuje cache, takže nie je taká dobrá ako druhá metóda

Nižšie je veľmi pomalá metóda, zápis jeden bajt po jednom bajte je veľmi pomalý


Prenesené z:Prihlásenie na hypertextový odkaz je viditeľné.
(Koniec)




Predchádzajúci:Podrobné vysvetlenie operácie NPOI Excel
Budúci:X-Forwarded-Pre viacero IP adries v hlavičke HTTP požiadavky
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com