Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 38466|Válasz: 0

[Tippek] Hogyan mentünk egy streamet fájlba C#/.NET nyelven

[Linket másol]
Közzétéve: 2021-5-16 21:12:58 | | |
Megnéztem néhány blogbejegyzést az interneten, amelyek arról szólnak, hogy a Stream fájlba mentették,Sok helytelen。 (Több problémát is találtam: gyenge teljesítmény, szokatlan, ha túl nagy a stream)

Miután megszereztem egy streamet, hogyan lehet elegánsan elmenteni ezt a streamet kódra

A legelegánsabb módszer a CopyTo vagy CopyToAsync módszer kellene legyen.


itt inputStream.Seek(0, SeekOrigin.Begin); Nem feltétlenül, kérlek, használd ezt a kódot a saját igényeidnek megfelelően, például csak a 10. bájtról kell másolnod az áramlatot, stb

Az aszinkron megközelítés egy kicsit tovább tart az íráshoz, de jobb teljesítményt eredményez, és lehetővé teszi a CPU számára, hogy más feladatokat is elvégezzen




Fontos megjegyezni, hogy a CopyToAsync használatakor ne felejtsd el a várakozást hozzáadni, amikor ezt a kódot futtatod, átadod a végrehajtást az IO-nak, a legtöbb IO feldolgozáshoz nem szükséges CPU a számításhoz, így az összteljesítmény jobb lesz

Ha az iputStream kívülről érkezik, akkor nem ajánlom, hogy ebben a módszerben engedd ki, miért? Jó streamet használtam, de megszűnt, amikor egy üzletben elmentem

A második módszer, hogy magad irányítod a memóriareplikációs gyorsítótárt, amelyhez további memóriamásolat is lesz


Ez a módszer lehetővé teszi az új bájt[1024] értékének módosítását, így kontrollt adsz a másolt gyorsítótár felett

A következők néhány olyan módszer, amelyeket nem ajánlottak, de íráskor kényelmesek


A fenti módszer kétszer másolja a memóriát, és ha a bemeneti erőforrás hossza 1G, akkor 2G erőforrást foglal el

Hasonlóan a fentiekhez egy nagy gyorsítótár kérése, ahogy az alábbi kódban is látható


Hatékonyság és kód elegancia tekintetében valójában gyengébbek a CopyTo módszernél is, és a stream miatt. A hosszúság és a hossz nem határozza meg a gyorsítótárt, így nem olyan jó, mint a második módszer

Az alábbiakban egy nagyon lassú módszer található, egy bájtról egy bájtra írás nagyon lassú


Áthelyezve:A hiperlink bejelentkezés látható.
(Vége)




Előző:NPOI Operation Excel részletes magyarázata
Következő:X-Forwarded-For több IP-cím az HTTP kérés fejlécében
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com