从两个引擎写入同一个文件

时间:2016-08-08 20:49:32

标签: c# csv filehelpers

您好我有一个读取的cvs文件,调用和API获取信息然后写入文件,如下所示。目前只有一个Delimited Record类。

        public class EE
        {
            [FieldOrder(1)]
            public string Name;
            [FieldOrder(2)]
            public string Description;
            [FieldOrder(3)]
         }


....creating engine....

  using (enginev2.BeginWriteFile(@"C:\Update\" + fileName))
                {
                    foreach (EEEEoutput in arrayEmployees)
                    {
                        enginev2.WriteNext(EEoutput);
                    }

            }

现在我必须创建另一个分隔记录,因为它有不同的结构,但我需要它写入同一个文件。意味着有两个不同的filehelpers引擎一个接一个地写入同一个文件。这有可能吗?

为了举例,我已经简化了字段数量。它们都非常不同,并且有很多领域。

public class EETravel
        {
            [FieldOrder(1)]
            public string TrxType;
            [FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.AllowForRead)]
            [FieldOrder(2)]
            public string EmployeeID;
    }

  using (engineTravel.BeginWriteFile(@"C:\Update\" + fileName))
                {
                    foreach (Employees_Travel EEtravel in arrayTravel)
                    {
                        engineTravel.WriteNext(EEtravel);
                    }

                }

当我拥有上面的代码时,它完全超过了第一个引擎编写的内容。所以我的问题是,我如何让第二个引擎在第一个引擎停止的地方取出,然后更新文件?

谢谢

1 个答案:

答案 0 :(得分:1)

 using (engineTravel.BeginAppendToFile(@"C:\Update\" + fileName))
                {
                    foreach (EETravel EEtravel in arrayTravel)
                    {
                        engineTravel.WriteNext(EEtravel);
                    }

                }

在第二个引擎中使用了.BeginAppendToFile,并在其他引擎停止的地方拾起。