我正在用 C# 编写应用程序。在该应用程序中,我有一个字节数组,我想将该字节数组数据写入特定位置。
这里我使用了以下逻辑。
using(StreamWriter writer=new StreamWriter(@"D:\"+ FileName + ".txt",true))
{
writer.WriteLine(Encoding.ASCII.GetString(Data),IndexInFile,Data.Length);
}
但是每当我在文件中写入数据时,它都会从头开始写入。
我的条件是,假设一开始我有空文件,我想从位置 10000 开始写入文件。请帮助我。在此先感谢。
永远不要像您一样尝试将二进制数据写成字符串。它不会正常工作。将二进制数据写成二进制数据。您可以为此使用 Stream
而不是 StreamWriter
。
using (Stream stream = new FileStream(fileName, FileMode.OpenOrCreate))
{
stream.Seek(1000, SeekOrigin.Begin);
stream.Write(Data, 0, Data.Length);
}
我是一名优秀的程序员,十分优秀!