C#中,如何保存上位机接收的数据到文件里

lieren8888 2012-04-26 09:27:01
C#中,如何保存上位机接收的数据到文件里。byte[] data是上位机接收的数据,是在变化的,形如10 01 10 01 10 01格式的16进制数。贴了我的代码,但运行下来保存的数据不对。俺新手,请问怎么改,或是有更好的写法没啊?
i = i + 6;
data.CopyTo(totalDataReceive, i);

//数据保存到txt文件中
string path = "d:\\tbDataFile.txt";
try
{
if (File.Exists(path))
File.Delete(path);
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None, 4096, true);//初始化FileStream类的新实例

fs.Write(totalDataReceive, 0, totalDataReceive.Length);//将转换后的byte数组写入文件
fs.Flush();//清空缓存区
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}

}

...全文
656 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonetu73633 2012-04-27
  • 打赏
  • 举报
回复
你看看下面说明:
OpenOrCreate 指定操作系统应打开文件(如果文件存在);否则,应创建新文件。如果用 FileAccess.Read 打开文件,则需要 FileIOPermissionAccess..::.Read。如果文件访问为 FileAccess.Write,则需要 FileIOPermissionAccess..::.Write。如果用 FileAccess.ReadWrite 打开文件,则同时需要 FileIOPermissionAccess..::.Read 和 FileIOPermissionAccess..::.Write。 如果文件访问为 FileAccess.Append,则需要 FileIOPermissionAccess..::.Append。
stonetu73633 2012-04-27
  • 打赏
  • 举报
回复
你看看下面说明:
OpenOrCreate 指定操作系统应打开文件(如果文件存在);否则,应创建新文件。如果用 FileAccess.Read 打开文件,则需要 FileIOPermissionAccess..::.Read。如果文件访问为 FileAccess.Write,则需要 FileIOPermissionAccess..::.Write。如果用 FileAccess.ReadWrite 打开文件,则同时需要 FileIOPermissionAccess..::.Read 和 FileIOPermissionAccess..::.Write。 如果文件访问为 FileAccess.Append,则需要 FileIOPermissionAccess..::.Append。
lieren8888 2012-04-27
  • 打赏
  • 举报
回复
好像是奥,谢谢,改了下,但还是不能实现更新的data写到.txt文件里;
.txt文件里只有写入了第一个数据,要怎么改改?Position不知写对了没?

string path = "d:\\tbDataFile.txt";
try
{
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite);//初始化FileStream类的新实例
Console.WriteLine("fs was {0}opened asynchronously.", fs.IsAsync ? "" : "not ");

fs.Write(data, 0, data.Length);//将转换后的byte数组写入文件
fs.Position = fs.Position+6;
//fs.Seek(6,Origin.Current);
//i = i + 6;
fs.Flush();//清空缓存区
fs.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
stonetu73633 2012-04-27
  • 打赏
  • 举报
回复
删除文件的目的是什么,如果是清空则删除后要用File.Create(path)再新建一个。
loveoflife0411 2012-04-27
  • 打赏
  • 举报
回复
if (File.Exists(path))
File.Delete(path);
你这个地方已经把文件删除了 你又如何写入呢?

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧