static void Main(string[] args) { var path = @"C:\Bound-Tree\BoundTree\IntegrationTestsOfTrees\Tests"; var files = Directory.GetFiles(path); foreach (var fileName in files) { var lines = File.ReadAllLines(fileName).ToList(); var doubleNode = new MultiTreeParser().GetMultiTree(lines).DoubleNode; var outputLines = new DoubleNodeConverter().ConvertDoubleNode(doubleNode); File.Delete(fileName); File.Create(fileName).Dispose(); List<string> beforeLines = null; var lastNotEmptyIndex = lines.FindLastIndex(line => line != ""); for (int i = lastNotEmptyIndex; i >= 0; i--) { if (lines[i] == "") { beforeLines = lines.Take(i).ToList(); beforeLines.Add(Environment.NewLine); break; } } if (beforeLines == null) { throw new FileLoadException(); } File.AppendAllLines(fileName, beforeLines); File.AppendAllLines(fileName, outputLines); } }
public string ConvertToString(DoubleNode<StringId> tree) { var lines = new DoubleNodeConverter().ConvertDoubleNode(tree); var stringBuilder = new StringBuilder(); lines.ForEach(line => stringBuilder.AppendLine(line)); return stringBuilder.ToString(); }