C#中的BinaryWriter添加了垃圾数据 [英] BinaryWriter in C# adding junk data

查看:126
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆