从数组中读取数据并写入以追加到现有文件:我的代码没有按预期追加数据

本文关键字:数据 追加 文件 我的 代码 读取 数组 | 更新日期: 2023-09-27 18:07:52

我的应用程序从数组读取数据,然后写入现有文件。它应该写到行尾,但是当我运行应用程序时,它不附加任何东西。

在研究之后,我发现了这个类似的帖子。我修改了我的代码,回答了那篇文章,我现在收到一个错误:

'FileStream'是namespace,但像type一样使用。

I添加了System.IO命名空间,但问题仍然存在。

这是我的代码:

private void button1_Click(object sender, EventArgs e)
    {
        string file_path = @"C:'Users'myfolder'Desktop'FileStream'Processed'Output.txt";
        string data = " ";

        try
        {
            using (FileStream aFile = new FileStream(file_path, FileMode.Append, FileAccess.Write))
            using (StreamWriter author = new StreamWriter(aFile, true))
            {
                string[] output_receiptNos = ReadFile().ToArray();
                for (int index = 0; index < output_receiptNos.Length; index++)
                {
                    data = output_receiptNos[index];
                    author.WriteLine(data);
                }
                MessageBox.Show("Data Sucessfully Processed");
            }
        }
        catch (Exception err)
        {
            MessageBox.Show("Could not process Data");
        }
    }

从数组中读取数据并写入以追加到现有文件:我的代码没有按预期追加数据

您的FileStreamStreamWriter的工作没有任何添加,其预定义的构造函数接受字符串(用于文件名)和布尔值(用于追加(覆盖数据))。如前所述是不可编译的,因为StreamWriter没有接受流和布尔值的构造函数。

正如有人已经在评论中提到的那样,您可能在代码中与某些奇怪地命名为"FileStream"的命名空间发生冲突。(顺便说一句,这是个坏主意)。
然而,我认为你可以直接使用StreamWriter类来删除错误。
然后花点时间找出为什么编译器认为你有一个名为"FileStream"的命名空间

        using (StreamWriter author = new StreamWriter(file_path, true))
        {
            string[] output_receiptNos = ReadFile().ToArray();
            for (int index = 0; index < output_receiptNos.Length; index++)
            {
                data = output_receiptNos[index];
                author.WriteLine(data);
            }
            MessageBox.Show("Data Sucessfully Processed");
        }