最近由于公司业务需要,写了这个函数,用于将线程中不断得到的数据输出到**CSV**文件中。
查阅过一些其他博客,基本都是用文件流FileStream结合写入流StreamWriter来做的,做完需要自己手动关闭句柄(代码注释部分),不过C#的静态类File有封装一些函数,可以用完自己就关闭了,如AppendAllLines、AppendAllText、WriteAllLines、WriteAllText等等,函数还挺多的。其中Write开头的是新建文件写入,Append开头的是添加到文件末尾,计算机的都懂的~
其中CSV文件,下一格用逗号,换行用”\n",直接写入即可。另外写入之前判断文件是否存在,不存在则先写入列标题。
代码如下:
private void SaveCSVFile()
{
if (ReportWindow.ui.checkBox_SaveCSVFile == false)
return;
var namespaceName = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace;
var csvFilePath = this.reportDirectory + namespaceName + "Report.csv";
//FileStream fs = null;
//StreamWriter sw = null;
#region 测试,此方法可以获取一个类里面的所有属性,同理也有可以获取所有方法信息的函数 GetMethods(),属性和方法一起获取的则为GetMembers()
//Type t = typeof(CenterTest.ReportOperation);
//foreach (System.Reflection.Prop