Ich mache eine Bewerbung in c #. In dieser Anwendung habe ich ein Byte-Array und möchte diese Byte-Array-Daten an eine bestimmte Position schreiben.
Hier habe ich die folgende Logik verwendet.
%Vor%Aber wenn ich Daten in eine Datei schreibe, beginnt sie mit dem Schreiben von Anfang an.
Meine Bedingung ist, dass angenommen, dass ich bei der ersten Datei leere Datei habe und ich möchte beginnen, in Datei von Position 10000 zu schreiben. Bitte helfen Sie mir. Danke im Voraus.
Sie können die Position im Stream wie folgt einstellen:
%Vor% Fügen Sie dies vor Ihrem WriteLine
code hinzu.
Beachten Sie, dass ich keinen Code hinzugefügt habe, um zu überprüfen, ob sich mindestens 1000 Zeichen in der Datei befinden.
Die WriteLine
Überladung, die Sie verwenden, ist diese:
TextWriter.WriteLine-Methode (Char [], Int32, Int32)
Insbesondere ist das angegebene Argument IndexInFile
tatsächlich der Index im Puffer , von dem aus nicht der Index in der Datei beginnt, mit dem zu schreiben begonnen wird - dies erklärt, warum Sie am Anfang der Datei nicht wie erwartet bei IndexInFile
schreiben.
Sie sollten zuerst Zugriff auf den zugrunde liegenden Stream und Seek
auf die gewünschte Position in der Datei erhalten und dann in die Datei schreiben.