Hogyan csinálhatom meg azt hogy a streamreader readlines metódusa újból előről fusson?
Ha egymás után lefut akkor mindig a következő sort adja vissza de mi van akkor ha nekem csak véletlenszerűen beállított sorig szeretném hogy lefusson ez után pedig kezdje előről az első sortól.
Hogyan csinálhatom hogy előről kezdje mikor még maradtak hátra sorok amiken nem akarom hogy végigmenjen hanem kezdje ilyenkor az elejétől?
A StreamReader által kezelt Stream-nek be tudod állítani a pozícióját:
using (Stream s = File.OpenRead(...))
using (StreamReader reader = new StreamReader(s)) {
.. long Position = s.Position; //Ahhoz, hogy vissza tudjunk állni a sor olvasása után, tudnunk kell, hogy hol álltunk.
.. reader.ReadLine();
.. s.Position = Position; //És itt visszaállunk
}
Értem köszi.
Találtam egy másik megoldást is ez pedig a seek használata de nem akar működni csak akkor ha valami buffert tartalmazó.... kitörlök.
Miért van ez így és mi ez a buffer?
A StreamReadernek van egy buffere, ezért nem feltétlen működik a seek.
(amúgy nem előről, hanem elölről :P)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!