Read all lines in memory
var lines =File.ReadAllLines(args[0]); using (var outfs = File.AppendText(args[1])) { outfs.Write("<html><body><table>"); foreach (var line in lines) outfs.Write("<tr><td>" + string.Join("</td><td>", line.Split(',')) + "</td></tr>"); outfs.Write("</table></body></html>"); }
or read one line at a time
using (var inFs = File.OpenText(args[0])) using (var outfs = File.AppendText(args[1])) { outfs.Write("<html><body><table>"); while (!inFs.EndOfStream ) outfs.Write("<tr><td>" + string.Join("</td><td>", inFs.ReadLine().Split(',')) + "</td></tr>"); outfs.Write("</table></body></html>"); }
... @Jimmy ... I created an advanced version using LINQ. Here's the highlight ... (lazy score for reading a line)
using (var lp = args[0].Load()) lp.Select(l => "<tr><td>" + string.Join("</td><td>", l.Split(',')) + "</td></tr>") .Write("<html><body><table>", "</table></body></html>", args[1]);
source share