c# - 无法使用 binarywriter 写入文件

标签 c# filestream binarywriter

为什么这段代码没有将我的字符串写入文件:

 string file = "Myfile.txt";
        MemoryStream ms = new MemoryStream();

void writeToFile(string text)
        {
            System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
            byte[] barr = encoding.GetBytes(text);


            ms.Write(barr, 0, barr.Length);

            using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate))
            {
                using (BinaryWriter bw = new BinaryWriter(ms))
                {
                    bw.Write(ms.ToArray());
                }
            }
        }


        static void Main(string[] args)
        {

            Program p = new Program();

            p.writeToFile("Tony Test");

            Console.ReadLine();

        }

最佳答案

看这一行:

using (BinaryWriter bw = new BinaryWriter(ms))

您正在写回 MemoryStream。你想要:

using (BinaryWriter bw = new BinaryWriter(fs))

话虽如此,这是一种非常讨厌的写入文件的方式,包含各种不必要的步骤。希望这只是尝试找出为什么其他东西不起作用的实验 - 但如果您的真实代码实际上是这样的,请详细说明您正在尝试做什么,我们可以帮助您整理一下。

关于c# - 无法使用 binarywriter 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3254183/

相关文章:

c# - 需要使用 Read7BitEncodedInt 的帮助

c# - 使用 MVC Razor View 发送电子邮件

C# 遵守从​​ SQL 服务器中提取的字符串中的换行符

C# 将 MS Access 数据库同步到 sql server

c# - Binary Reader 和 Writer 同时打开?

c# - BinaryWriter 问题 - "code adds some byte between Write() method"

c# - 搜索数百万文件名的最佳数据结构?

c++ - 在 C++ 中截断文件

c# - 如何使用 C# 代码读取文件?

java - 如何解决无效的 header 签名;读取0x6576206C6D783F3C,预期0xE11AB1A1E011CFD0错误java?