如何在c#中的特定位置写入数据?

Dan*_*any 11 c# file

我正在c#中创建一个应用程序.在那个应用程序中,我有一个字节数组,我想将该字节数组数据写入特定位置.

在这里,我使用了以下逻辑.

using(StreamWriter writer=new StreamWriter(@"D:\"+ FileName + ".txt",true))  
{  
    writer.WriteLine(Encoding.ASCII.GetString(Data),IndexInFile,Data.Length);
}
Run Code Online (Sandbox Code Playgroud)

但每当我在文件中写入数据时,它就会从开始写入.

我的条件是假设在初始我有空文件,我想从10000位置开始写入文件.请帮助我.谢谢.

svi*_*ick 13

永远不要像你一样尝试将二进制数据写为字符串.它无法正常工作.将二进制数据写为二进制数据.您可以使用Stream它代替StreamWriter.

using (Stream stream = new FileStream(fileName, FileMode.OpenOrCreate))
{
    stream.Seek(1000, SeekOrigin.Begin);
    stream.Write(Data, 0, Data.Length);
}
Run Code Online (Sandbox Code Playgroud)

  • 然后不要使用`FileMode.Append`. (2认同)