Здравствуйте, у меня есть файл cvs, который читается, а вызовы и API для получения информации, а затем записываются в файл, как показано ниже. В настоящее время существует только один класс с разделительной записью.Запись из двух движков в один файл
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);
}
}
Теперь я должен создать другие разделители записи как она имеет другую структуру, но мне нужно, чтобы написать в тот же файл. Это означает, что два разных файловых сервера записывают один за другим в один и тот же файл. Это возможно?
Я упростил количество полей для примера. Они оба очень разные и имеют много полей.
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);
}
}
, когда у меня есть код выше, он полностью переезжает, что написал первый движок. Так что мой вопрос: как мне заставить второй движок забирать, где остановился первый движок, а затем обновить файл?
спасибо
Во-первых, если это многопоточный код, вы захотите сделать некоторую блокировку вокруг записи. Во-вторых, откройте файл для добавления. В-третьих, найдите до конца файла перед записью, чтобы поддерживать обновления другого кода. – GreatAndPowerfulOz
спасибо Я использовал BeginAppendToFile, и это сработало. – PanzerRage