- Honor 200 Pro - mobilportré
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Végre egy tényleg jó Duotts bringa! - E29 teszt
- Sony Xperia 1 V - kizárólag igényeseknek
- One mobilszolgáltatások
- Apple iPhone 17 - alap
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Motorola Edge 40 - jó bőr
- Nokia 6.2 - kötelezők röviden
- Sebtapasz: telepíthető az iOS 26.0.1
Új hozzászólás Aktív témák
-
joysefke
veterán
Uhh
https://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream.flush(v=vs.110).aspx
DeflateStream.Flush Method ()
The current implementation of this method does not flush the internal buffer. The internal buffer is flushed when the object is disposed.
GZipStream.Flush() ugyanez...
Mondjuk továbbra sem értem, miért elegendő, ha a ToArray() a StreamWriter blokkján kívül, de a GZipStream blokkján belül van. Azt várnám, hogy ahogy Te tanácsoltad, a GZipStream blokkja után kellene hogy legyen, hogy biztonságos legyen meghívni a ToArray-t. (mert ekkor a GZipStream is Dispose-olva és ezáltal a bufferje is ürítve lett)
-
joysefke
veterán
Köszi!
1,
Nem a zárójelek javították meg, hanem az hogy a GZipStream using blokkon kívülre került a ToArray hívásVak vagyok
Próbálgattam a dolgot, és elegendő volt a ToArray() hívást a StreamWriter- using blokkján kívülre rakni, már az is megjavította (úgy hogy a GZipStream using blokkján még belül volt ) (!!!)
Tehát abban igazad van, hogy ki kellett lépni valamelyik using blokkból.2,
A flush pedig nem szükséges (mivel a végén van nem okoz problémát, csak kétszer hívódik), mert a Dispose során a Framework meghívja mindenképpen.OK, ezt értem, de azt nem értem, hogy az én megoldásom miért nem jó, tehát, ha még a legbelső (StreamWriter) using blokkon belül akarom a ToArray()-t megívni backing streamen (MemoryStream), akkor miért nem működik az, hogy szépen visszafele meghívom a Flush()-öket:
sw.Flush(); ds.Flush(); ms.Flush();
aztán meghívom a MemoryStreamen a ToArray()-t.Itt azt várnám, hogy a Flush() hívások után a a MemoryStream mindent tartalmaz amit beleírtam (kiürültek a bufferek), tehát bátran hívhatok ToArray()-t...
Itt ugye asszinkronitás sincsen, tehát abban a pillanatban amikor meghívom a Flush()-t, akkor már minden írás amit előtte kiadtam már megtörtént (bufferbe)És ez működik is úgy, hogy nincsen tömörítés (DeflateStream vagy GZipStream) hanem csak Streamwriter( MemoryStream()) van. Onnantól kezdve, hogy közé ékelek egy GZipStreamet vagy DeflateStream-et, borul az egész...
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Autós topik
- Honor 200 Pro - mobilportré
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Végre egy tényleg jó Duotts bringa! - E29 teszt
- Call of Duty: Black Ops 7
- Milyen belső merevlemezt vegyek?
- Vezeték nélküli fülhallgatók
- Tippmix
- Milyen légkondit a lakásba?
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- Asztali PC , R5 5500 , RX 5700 XT , 16GB RAM , 512GB NVME , 500GB HDD
- Gamer PC - RTX 3070, Ryzen 5 5600X, 16gb RAM
- DELL G5 25 5587 Gamer notebook
- Lenovo ThinkPad T14s Gen3 : i5-1240P/16GB/256GB NVMe SSD/14"FHD IPS, Matt/Win 11Pro
- ALKALMI ÁRON! - Vadonatúj állapotú Xbox Elite Series 2 Core Kontroller - 1 Év Alza Garanciával!
- AKCIÓ! Lenovo Thinkpad T14 Gen 5 üzleti - Ultra 7 165U 16GB DDR5 512GB SSD Intel Graphics WIN11
- Honor X7a 128GB, Kártyafüggetlen, 1 Év Garanciával
- 24 GB-os RTX6000 HP - garanciával
- ÚJ Asus TUF Gaming F17 FX707 - 17.3"FHD IPS 144Hz - i7-13620H - 16GB - 1TB - RTX 4060 -3 év garancia
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest