0

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

经过研究,我遇到了这个类似的帖子。我按照该帖子的回答修改了我的代码,现在我收到一个错误:

'FileStream' 是一个namespace,但使用起来像一个type.

我添加了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");
        }
    }
4

1 回答 1

1

您的预定义构造函数FileStream接受一个字符串(用于文件名)和一个布尔值(用于附加(覆盖数据))的工作,您没有添加任何内容。并且所写的是不可编译的,因为它没有采用 Stream 和布尔值的构造函数。 StreamWriterStreamWriter

正如评论中已经提到的那样,您的代码中可能与一些奇怪地命名为“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");
        }
于 2013-04-05T13:35:52.867 回答