c# - 序列化文件出错:二进制流“0”不包含有效的 BinaryHeader
问题描述
我有一个非常奇怪的问题,完全让我感到困惑。任何帮助将不胜感激。
我有一个保存文件,我用以下代码写出:
using (FileStream fs = File.Open(SavePath, FileMode.Create, FileAccess.Write))
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, SaveData);
}
对于大多数用户来说,这很好用,而且对我来说总是很好用。但是对于不到 1% 的用户来说,这段代码正在写出一个只有零的文件。它具有完全相同的文件大小,文件只是充满了零,而不是类中的实际数据。该类存在于内存中,不涉及数据库或互联网连接。
对于这些用户来说,这个问题总是会发生,但其他任何用户都不会。每个人都在运行完全相同的代码。有没有人有任何想法可能导致这种情况发生?这些用户的计算机一定有一些特定的东西导致它一直失败。
文件保存位置在:C:\Users[USERNAME]\AppData\LocalLow\ProgramFolder
解决方案
推荐阅读
- android - TextView.setText 不更新
- c++ - C++ 输入验证 - 程序正在读取错误的值/未读取值
- sql - SQL Server 更新使用三表连接
- excel - Excel VBA - 从一系列单元格中复制并粘贴到一个单元格中
- samba - 将安装在 linux(CentOS 裸机)上的 zfs 池与 mac OS 和 windows 集成?
- python-3.x - 为什么我的 Python 程序在我不期望的地方打印括号和引号?
- sql - 以角度访问src文件夹外的图像
- sql - SQL Server自定义排序,同时按最大总和分组
- javascript - FullCalender : calender.render() 使浏览器窗口无响应
- css - SCSS: 伪类 :first-of-type 影响所有类型