Wahlfreier Dateizugriff



  • Mit StreamReader liest man ja von Anfang bis Ende einer Datei. Gibt es auch eine Möglichkeit, auf selbst ausgewählte Bytes zuzugreifen? Also, daß ich z.B. erst ab Byte 5494 anfange zu lesen, ohne daß er sich erst durch die vorherigen Bytes durchkämpft, sondern direkt auf das Byte, das ich brauche, zugreift?
    Und dann müßte ich noch wissen, wie ich rausfinden kann, an welcher Position (also an dem wievielten Byte) einer Datei sich der StreamReader im Moment befindet. Wie mach ich das?



  • Das hängt vom zugrunde liegenden Stream ab. Wenn dieser das unterstützt (CanSeek Property) kannst du aus dem StreamReader über BaseStream gehen und dann mittels Seek Methode oder Position Property eben diese setzen.



  • Hallo,

    NES-Spieler schrieb:

    Mit StreamReader liest man ja von Anfang bis Ende einer Datei. Gibt es auch eine Möglichkeit, auf selbst ausgewählte Bytes zuzugreifen? Also, daß ich z.B. erst ab Byte 5494 anfange zu lesen, ohne daß er sich erst durch die vorherigen Bytes durchkämpft, sondern direkt auf das Byte, das ich brauche, zugreift?
    Und dann müßte ich noch wissen, wie ich rausfinden kann, an welcher Position (also an dem wievielten Byte) einer Datei sich der StreamReader im Moment befindet. Wie mach ich das?

    Ein StreamReader wurde nicht dafür konzipiert, wahlfreien Zugriff zu ermöglichen, wohl aber ein FileStream (hat Seek-Methode):

    http://msdn.microsoft.com/en-us/library/system.io.filestream.aspx

    MfG,

    Probe-Nutzer


Log in to reply