本文整理汇总了C#中IDocument.BeginWrite方法的典型用法代码示例。如果您正苦于以下问题:C# IDocument.BeginWrite方法的具体用法?C# IDocument.BeginWrite怎么用?C# IDocument.BeginWrite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDocument
的用法示例。
在下文中一共展示了IDocument.BeginWrite方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AppendTriples
public override void AppendTriples(IEnumerable<Triple> ts, IDocument<StreamReader,TextWriter> document)
{
if (!ts.Any()) return;
try
{
TextWriter writer = document.BeginWrite(true);
foreach (Triple t in ts)
{
writer.WriteLine(this._formatter.Format(t));
}
writer.Close();
document.EndWrite();
}
catch (AlexandriaException)
{
throw;
}
catch (Exception ex)
{
document.EndWrite();
throw new AlexandriaException("Error appending Triples to Document " + document.Name, ex);
}
}
示例2: DeleteTriples
public override void DeleteTriples(IEnumerable<Triple> ts, IDocument<StreamReader,TextWriter> document)
{
if (!ts.Any()) return;
//Generate the String forms of these Triples
HashSet<String> triples = new HashSet<string>();
foreach (Triple t in ts)
{
triples.Add(this._formatter.Format(t));
}
try
{
//Now read through the file line by line
int lineCount = 0, editedLineCount = 0;
StringBuilder editedOutput = new StringBuilder();
StreamReader reader = document.BeginRead();
while (!reader.EndOfStream)
{
lineCount++;
String line = reader.ReadLine();
//If the Line is a Triple that isn't marked for deletion we pass it through to our edited output
if (!triples.Contains(line))
{
editedOutput.AppendLine(line);
editedLineCount++;
}
}
reader.Close();
document.EndRead();
if (lineCount > editedLineCount || lineCount == 0)
{
//We deleted some Triples so need to reserialize the data
try
{
if (editedLineCount > 0)
{
TextWriter writer = document.BeginWrite(false);
writer.Write(editedOutput.ToString());
writer.Close();
document.EndWrite();
}
else
{
//If there are no lines in the result then delete the document
document.DocumentManager.ReleaseDocument(document.Name);
document.DocumentManager.DeleteDocument(document.Name);
}
}
catch (AlexandriaException)
{
throw;
}
catch (Exception ex)
{
document.EndWrite();
throw new AlexandriaException("Error deleting Triples from Document " + document.Name, ex);
}
}
}
catch (AlexandriaException)
{
throw;
}
catch (Exception ex)
{
document.EndRead();
throw new AlexandriaException("Error deleting Triples from Document " + document.Name, ex);
}
}