private static string TrimAsNeeded(string line, FileSetup.LineTrimming trimOptions) { if (line.Length == 0) { return(String.Empty); } string val; switch (trimOptions) { case FileSetup.LineTrimming.Edge: val = line.Trim(); break; case FileSetup.LineTrimming.All: val = line.ReduceWhiteSpace(); break; default: val = line; break; } return(val); }
// part 2c private static InfoParts HandleResults(string server, string dataset, string nameid, string filename, FileSetup.LineTrimming trimOptions, string filenotfound, string comment) { var expandedFileName = Environment.ExpandEnvironmentVariables(nameid); FileInfo file = new FileInfo(expandedFileName); var filePath = file.DirectoryName; var simplefilename = file.Name; var parts = new InfoParts(server, "file", DateTime.UtcNow); int index = 0; if (file.Exists) { using (FileStream fs = file.OpenRead()) // this shares with open files, no crash using (StreamReader sr = new StreamReader(fs)) { while (!sr.EndOfStream) { //var line = Utilities.RemoveAfter(sr.ReadLine().re, comment); var line = sr.ReadLine().RemoveAfter(comment); string val = TrimAsNeeded(line, trimOptions); if (val.Length > 0) { ++index; parts.Add(string.Empty, filePath, simplefilename, index, dataset, "String", val); } } } if (parts.Parts.Count < 1) { parts.Add(simplefilename, index, dataset, "String", comment); // add comment line if there was no uncommented data in the file } } else { parts.Add(simplefilename, index, dataset, "String", filenotfound); } return(parts); }