gpt4 book ai didi

c# - BinaryWriter 不写入文件

转载 作者:行者123 更新时间:2023-12-02 06:12:48 25 4
gpt4 key购买 nike

我正在尝试将数据文件写入磁盘,以便可以缓存无法放入内存的大量数据。在一些早期测试中,我发现有时我会写入数据,有时则不会。这是一个显示该过程不起作用的示例:

using System.IO;
using System;


namespace TestBinaryWriter
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
double dFoo = 1234.1234;
BinaryWriter bw = new BinaryWriter(File.OpenWrite("asdf"));
bw.Write(dFoo);
bw.Write(BitConverter.GetBytes(dFoo));
}
}
}

文件“asdf”的内容是空的,我不明白为什么。

最佳答案

在using block 中初始化并使用BinaryWriter:

using (BinaryWriter bw = new BinaryWriter(File.OpenWrite("asdf"))
{
bw.Write(dFoo);
bw.Write(BitConverter.GetBytes(dFoo));
}

您的实现有什么问题是 Stream 没有关闭(通过调用 close 方法)并且内容没有正确地刷新到文件中。

使用using语句,会自动调用Dispose方法。在 Dispose 实现中,Close 被调用。这就是它的工作原理。

关于c# - BinaryWriter 不写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60408376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com