字节的二进制读取仅返回一个值。 C#

2024-03-22

当我期望 0,1,2,3 时,控制台显示 0,0,0,0。

这是以下版本的修改版本:https://msdn.microsoft.com/en-us/library/system.io.binarywriter(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.io.binarywriter(v=vs.110).aspx

using System;
using System.IO;

namespace testingfilereadwrite
{    
class Program
{
    const string FileName = "TestFile.dat";       
static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
        Console.ReadKey();
    }        
public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(FileName, FileMode.Create)))
        {
            writer.Write(0);
            writer.Write(1);
            writer.Write(2);
            writer.Write(3);
        }
    }

    public static void DisplayValues()
    {
        byte byte1;
        byte byte2;
        byte byte3;
        byte byte4;

        if (File.Exists(FileName))
        {
            using (BinaryReader reader = new BinaryReader(File.Open(FileName, FileMode.Open)))
            {
                byte1 = reader.ReadByte();
                byte2 = reader.ReadByte();
                byte3 = reader.ReadByte();
                byte4 = reader.ReadByte();
            }

            Console.WriteLine(byte1);
            Console.WriteLine(byte2);
            Console.WriteLine(byte3);
            Console.WriteLine(byte4);
        }
    }
}`

为什么只显示0?我怎样才能让它显示我需要的内容?另外,为什么当我使用字节以外的东西(例如字符串或整数)时它会起作用。


因为您正在向文件写入整数,并且前 4 个字节是 0。

    public static void WriteDefaultValues()
    {
        using (BinaryWriter writer = new BinaryWriter(File.Open(FileName, FileMode.Create)))
        {
            writer.Write((byte)0);
            writer.Write((byte)1);
            writer.Write((byte)2);
            writer.Write((byte)3);
        }
    }

尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字节的二进制读取仅返回一个值。 C# 的相关文章

  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK

随机推荐

  • 如何在 Rust 中指定枚举的基础类型? [复制]

    这个问题在这里已经有答案了 给定一个带有一些非类型化值的简单枚举 该枚举的大小可能需要使用比默认值更小的整数类型 例如 这提供了将枚举存储在数组中的能力u8 enum MyEnum A 0 B C 可以使用u8数组并将它们与一些常量进行比较
  • glassfish 是否支持 jvm 参数中的密码别名?

    我正在尝试使用别名密码作为 jvm arg 但别名密码似乎没有提供给 Web 应用程序 这是我的domain xml 配置
  • 如何在 Visual Studio 中从搜索中排除 .svn 目录?

    我必须 查找 项目的子文件夹 因为整个项目非常大 搜索时间太长 我还安装了 AnkhSVN 想知道插件中的设置是否也有帮助 如果您使用 在文件中查找 而不是标准搜索 则可以在子文件夹中搜索指定的文件类型 但是 使用 Ultrafind 附加
  • Eloquent ORM 的自定义软删除列和值

    我正在重写 REST 服务 我决定使用 Slim Framework 并且我正在使用 Eloquent ORM 因为它最适合我 以前我已经用一列完成了软删除deleted并将其设置为 1 或 0 以表示是否删除 使用 Eloquent 它为
  • [A]类型无法转换为[B]匹配程序集版本的类型

    就在最近 我开始收到这个奇怪的错误 这只是设计器中的问题 应用程序运行没有问题 我试过了 清除影子缓存 删除 bin obj 文件夹 重建解决方案 删除并重新添加提到的程序集并再次执行上述所有操作 这是完整的错误 A MahApps Met
  • 在 Eclipse 中查找重写方法的实例

    假设我有以下内容 public class TextField private String value public String getValue return value And public class TextField2 ext
  • ASP.NET Core 中应用程序启动逻辑放在哪里

    我想使用 ASP NET Core 2 1 创建一个 Web 服务 该服务在应用程序启动时检查与数据库的连接是否正常 然后在数据库中准备一些数据 检查循环运行 直到连接成功或用户按 Ctrl C IApplicationLifetime 重
  • 面临错误问题:在项目输出中找不到指定的 EntryPointExe ''

    我正在使用 VS2022 17 5 3 和 WPF App net7 0 我正在构建一个要在 Microsoft 商店中发布的应用程序 我遇到错误 在项目输出中找不到指定的 EntryPointExe 我搜索了很多导致此错误的原因 但失败了
  • MSCRM Web 服务是否支持数据库事务?

    人们会假设任何基于网络的数据应用程序数据库事务都是设计的一个组成部分 环顾 CrmService 我找不到任何表明事务性 CRUD 可用的信息 MSCRM 是否不支持 实现此功能 如果是 而我错过了 有人可以指出我正确的方向吗 我担心在我编
  • HAX 内核模块未安装

    我刚刚从官方 android 网站下载了最新的 android studio 并安装了它 但我收到此错误 而不是使用 Intel X 86 仿真器加速器 什么可能导致此错误 emulator ERROR x86 emulation curr
  • 发现 Control() 不起作用

    我在按钮单击事件中创建了 5 个文本框 当单击动态生成的按钮时 我必须获取文本框中的值 protected void Button1 Click object sender EventArgs e for int i 0 i lt 5 i
  • 如何在Google colab中访问上传的文件

    我是 python 新手 我使用Google Colab 我上传了一个train data npy进入google Colab 然后我想使用它 根据这个链接如何在 Google Colaboratory 中导入并读取 shelve 或 Nu
  • 如何获得后续观察值(国家年)之间的差异?

    假设我有 5 个国家 地区 10 年内的分数 例如 mydata lt 1 3 mydata lt expand grid country c A B C D E year c 1980 1981 1982 1983 1984 1985 1
  • 在服务器路径写入文件时如何传递凭据?

    我想在服务器路径写入一个文件 但是当我尝试这样做时 我们得到了异常 我们没有权限这样做 我们有一个有权在服务器路径写入的应用程序 ID 和密码 但我不知道如何传递此凭据 我当前的代码 Create a new GUID extract th
  • 是否有符合 .NET FIPS 标准的密钥 SHA256 哈希算法?

    我正在使用 HMACSHA256 和以下代码创建一个密钥 SHA256 哈希 HMACSHA256 hmac new HMACSHA256 Encoding UTF8 GetBytes secretKey byte hash hmac Co
  • 如何使用 z-index 进行相对定位?

    我有一个问题z index和我的代码 我想在每一行上都有一个弹出窗口 相对于该行定位 所以我创建了这段代码 level1 position relative z index 2 level2 position relative z inde
  • .htaccess:此处不允许使用 RewriteEngine

    我将 htaccess 上传到服务器并收到错误 500 内部服务器错误 在错误日志中我有以下错误 htaccess 此处不允许 RewriteEngine But mod rewrite so已启用 那么我需要改变吗
  • Android Textview斜体和wrap_contents

    我正在使用 3 个不同颜色的斜体文本视图
  • 将 Jar 文件与 -classpath JAVA 组合

    我有一个关于编译一个 Jar 文件中有一些依赖类的类的问题 MyJar jar 通过将目录树放入 classpath 选项中 例如 javac cp MyJar MyClass java 是检查所有子目录中的类还是仅检查目录树中的顶级类 提
  • 字节的二进制读取仅返回一个值。 C#

    当我期望 0 1 2 3 时 控制台显示 0 0 0 0 这是以下版本的修改版本 https msdn microsoft com en us library system io binarywriter v vs 110 aspx htt