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

标签 c# file

我正在用 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);
}

关于c# - 如何在c#中的特定位置写入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58038611/

相关文章:

c# - 为什么 C# 不允许多个返回值?

python - 如何进行虚拟文件处理?

python - 从文件读取: find the new line

Python String 到列表处理

java - Camel pollEnrich 第二次没有工作

c# - 使用 eval 在 gridview 列中进行数据绑定(bind)

c# - 按搜索字符串字母顺序 LINQ 开头的名称排序

c# - 访问 EF Core 中的相关表

c# - 从 c# 中的 postscript 文档生成 PDF 文件

c# - C#比较两个文件