从数组中读取数据并写入以追加到现有文件:我的代码没有按预期追加数据
本文关键字:数据 追加 文件 我的 代码 读取 数组 | 更新日期: 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");
}
}
您的FileStream
对StreamWriter
的工作没有任何添加,其预定义的构造函数接受字符串(用于文件名)和布尔值(用于追加(覆盖数据))。如前所述是不可编译的,因为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");
}