C#中的BinaryWriter添加了垃圾数据 [英] BinaryWriter in C# adding junk data
本文介绍了C#中的BinaryWriter添加了垃圾数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在C#中使用BinaryWriter。
它在数据末尾添加垃圾字符。
我也关闭了并刷新二进制文件。
这是代码片段:
using (FileStream objFileStream = new FileStream(sFilePath,fMode))
{
using (BinaryWriter objStreamWriter = new BinaryWriter(objFileStream))
{
// 将字符串数据写入OCE文件
// objStreamWriter.Write(sDataToWrite.ToCharArray(),0,sDataToWrite.Length);
objStreamWriter.Write(sDataToWrite.ToCharArray()); objStreamWriter.Flush();
objStreamWriter.Close();
}
objFileStream.Close();
}
请建议解决方案。
解决方案
当我在这里尝试你的代码时:
string sFilePath = @ D:\Temp \BBbinwriter.hex;
FileMode fMode = FileMode.Create;
string sDataToWrite = File.ReadAllText( @ d:\Temp\101.txt跨度>);
使用(FileStream objFileStream = new FileStream(sFilePath,fMode))
{
使用(BinaryWriter objStreamWriter = new BinaryWriter(objFileStream))
{
// 将字符串数据写入OCE文件
// objStreamWriter.Write(sDataToWrite.ToCharArray(),0,sDataToWrite.Length);
objStreamWriter.Write(sDataToWrite .ToCharArray()); objStreamWriter.Flush();
objStreamWriter.Close();
}
objFileStream.Close();
}我得到两个相同的文件 - 相同的长度,相同的数据。我在做什么你不是,或者你这样做我不是吗?
我只能假设这是一个数据问题,你的sDataToWrite不包含你的想法不...:笑:
Hi,
I am using BinaryWriter in C#.
It adds junk characters at the end of data.
I have also close and flush the binarywriter.
Here is code snippet:
using (FileStream objFileStream = new FileStream(sFilePath, fMode))
{
using (BinaryWriter objStreamWriter = new BinaryWriter(objFileStream))
{
// Write Char String Data to the OCE file
//objStreamWriter.Write(sDataToWrite.ToCharArray(), 0, sDataToWrite.Length);
objStreamWriter.Write(sDataToWrite.ToCharArray()); objStreamWriter.Flush();
objStreamWriter.Close();
}
objFileStream.Close();
}
Please suggest the solution.
解决方案
When I try your code here:
string sFilePath = @"D:\Temp\BBbinwriter.hex"; FileMode fMode = FileMode.Create; string sDataToWrite = File.ReadAllText(@"D:\Temp\101.txt"); using (FileStream objFileStream = new FileStream(sFilePath, fMode)) { using (BinaryWriter objStreamWriter = new BinaryWriter(objFileStream)) { // Write Char String Data to the OCE file //objStreamWriter.Write(sDataToWrite.ToCharArray(), 0, sDataToWrite.Length); objStreamWriter.Write(sDataToWrite.ToCharArray()); objStreamWriter.Flush(); objStreamWriter.Close(); } objFileStream.Close(); }I get two identical files - the same length, the same data. What am I doing that you aren''t, or you doing that I''m not?
I can only assume that it is a data problem, and your sDataToWrite does not contain what you think it does...:laugh:
这篇关于C#中的BinaryWriter添加了垃圾数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文