我有一个二进制文件,我想在文件的末尾添加一块数据,我怎么用C#和.net来实现这个功能?写入二进制文件的末尾时是否还有任何注意事项?非常感谢你的帮助。如何将数据附加到二进制文件?
20
A
回答
23
private static void AppendData(string filename, int intData, string stringData, byte[] lotsOfData)
{
using (var fileStream = new FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None))
using (var bw = new BinaryWriter(fileStream))
{
bw.Write(intData);
bw.Write(stringData);
bw.Write(lotsOfData);
}
}
5
你应该通过Stream
能够做到这一点:
using (FileStream data = new FileStream(path, FileMode.Append))
{
data.Write(...);
}
至于注意事项 - 主要的一个是:没有底层数据格式支持追加?许多不这样做,除非它是您自己的原始数据或文本等。例如,格式良好的xml文档不支持追加(不考虑最终的终止元素)。也不会像一个Word文档。但是有些人会这样做。所以;是您的数据与该行...
0
使用StreamWriter
和引用DotNetPerls,请务必将True
布尔添加到StreamWriter
构造,否则留空,它会覆盖和往常一样:
using System.IO;
class Program
{
static void Main()
{
// 1: Write single line to new file
using (StreamWriter writer = new StreamWriter("C:\\log.txt", true))
{
writer.WriteLine("Important data line 1");
}
// 2: Append line to the file
using (StreamWriter writer = new StreamWriter("C:\\log.txt", true))
{
writer.WriteLine("Line 2");
}
}
}
Output
(File "log.txt" contains these lines.)
Important data line 1
Line 2
这是当我从Google来到这里时实际上正在寻找的解决方案,虽然它不是二进制文件,但希望它能帮助其他人。
相关问题
- 1. 将二进制数据附加到电子邮件附件
- 2. 将二进制数据附加到c中的文件
- 3. 将数据附加到可执行二进制文件的理智性
- 4. 将字节[]附加到二进制文件的末尾
- 5. 将程序的位代码附加到二进制文件中
- 6. Laravel Mail附加二进制数据
- 7. 如何将二进制数据输出到Java中的文件?
- 8. ActionScript 3:如何将二进制数据保存到文件
- 9. 提琴手将二进制文件数据添加到POST
- 10. 追加二进制数据文件
- 11. 如何使用iTextSharp将PDF文件从二进制文件附加到已进行中的PDF文件中?
- 12. 将二进制数据写入文件
- 13. 如何将二进制文件添加到数据网格视图
- 14. 如何将二进制文件加载到Struct并获取数据?
- 15. 二进制数据到PDF文件
- 16. 写回数据到二进制文件
- 17. 写大二进制数据到文件
- 18. 如何将数组编码为二进制并将二进制数据解组到二进制数组中?
- 19. 将二进制数据文件包含到APK文件中
- 20. mysql如何连接/附加二进制数据类型
- 21. 如何将二进制数据附加到XML文件中特定位置的特定节点
- 22. 如何将二进制文件数据读入数组?
- 23. 如何使用objectId将二进制数据添加到mongoDB?
- 24. 如何将二进制数据追加到HSQL(2.3.2)blob?
- 25. 如何通过AngularJs将二进制文件添加到API $ http
- 26. 如何将二进制文件添加到git bash?
- 27. 如何读取二进制数据并作为附件发送?
- 28. C#中的二进制序列化 - 附加到文件
- 29. 将数据附加到json文件php
- 30. 将数据附加到XML文件
+1我喜欢这个答案,因为它告诉你如何另外将原生数据类型作为二进制表示推入流中。 – 2010-03-07 23:56:06
@jdk - 这当然会对基础数据*是什么进行推测*。一个'byte []'肯定,这总是有意义的......但其他人的编码可能是*英里*出。 – 2010-03-08 05:22:35
对于二进制写入器+1,如果您正在编写二进制数据,最好使用写入器 – 2010-03-08 08:00:50