下面是我的代码的一部分,无法弄清楚为什么文本流没有写入目标文件。
...
StringBuilder Religion = new StringBuilder();
...
if (Religion.Length != 0)
{
sw = new System.IO.StreamWriter(Dts.Variables["User::RawData"].Value.ToString() + "Religion.csv");
sw.WriteLine(Religion);
MessageBox.Show(Religion.ToString());
}
我添加了MessageBox.Show
来帮助我检查StringBuilder Religion
是否为空,但它确实包含了所有行,并且我的每个数据文件都有这样的多个代码块,不知道为什么只有这个,结果文件是 EMPTY ...
任何帮助都将不胜感激。
答案 0 :(得分:2)
使用:
...
StringBuilder Religion = new StringBuilder();
...
if (Religion.Length != 0)
{
using (sw = new System.IO.StreamWriter(Dts.Variables["User::RawData"].Value.ToString() + "Religion.csv"))
{
sw.WriteLine(Religion);
}
MessageBox.Show(Religion.ToString());
}
可替换地:
...
StringBuilder Religion = new StringBuilder();
...
if (Religion.Length != 0)
{
sw = new System.IO.StreamWriter(Dts.Variables["User::RawData"].Value.ToString() + "Religion.csv"))
try
{
sw.WriteLine(Religion);
}
finally
{
sw.Close();
}
MessageBox.Show(Religion.ToString());
}