Extend FileInfo with methods to read all the lines of a file or write a series of lines to a file. The beauty of these methods is that they are simple and use Linq lazy evalution so that the files can be read/written a line at a time.
public static class FileInfoExtender { public static IEnumerable<string> ReadLines(this FileInfo fi) { return File.ReadLines(fi.FullName); } public static IEnumerable<string> ReadLines(this FileInfo fi, Encoding encoding) { return File.ReadLines(fi.FullName, encoding); } public static string ReadAllText(this FileInfo fi) { var res = File.ReadAllText(fi.FullName); return res; } public static async Task<string> ReadAllTextAsync(this FileInfo fi) { var res = await File.ReadAllTextAsync(fi.FullName); return res; } public static void WriteLines(this FileInfo fi, IEnumerable<string> lines) { File.WriteAllLines(fi.FullName, lines); } public static void WriteLines(this FileInfo fi, IEnumerable<string> lines, Encoding encoding) { File.WriteAllLines(fi.FullName, lines, encoding); } public static string FileNameWithoutExtension(this FileInfo fi) { return Path.GetFileNameWithoutExtension(fi.Name); } }
No comments:
Post a Comment