4 ways to read the contents of a file with C# .NET
January 20, 2015 Leave a comment
.NET supports a number of ways to read from a file. Here come 4 of them.
1. Using FileStream:
private void ReadFileWithFileStream() { using (FileStream fileStream = File.Open(@"c:\mydirectory\source.txt", FileMode.Open, FileAccess.Read)) { using (StreamReader streamReader = new StreamReader(fileStream)) { Console.Write(streamReader.ReadToEnd()); } } }
2. Using StreamReader:
private void ReadFileWithStreamReader() { using (StreamReader reader = File.OpenText(@"c:\mydirectory\source.txt")) { Console.Write(reader.ReadToEnd()); } }
StreamReader.ReadToEnd has an awaitable version ReadToEndAsync which you can use to read from the file asynchronously. If you don’t know what this means then start here.
3. Using File:
private void ReadFileWithFile() { Console.WriteLine(File.ReadAllText(@"c:\mydirectory\source.txt")); }
4. Using BufferedStream:
private void ReadFileWithBufferedStream() { using (FileStream fileStream = File.Open(@"c:\mydirectory\source.txt", FileMode.Open, FileAccess.Read)) { using (BufferedStream bufferedStream = new BufferedStream(fileStream)) { using (StreamReader streamReader = new StreamReader(bufferedStream)) { Console.Write(streamReader.ReadToEnd()); } } } }
Read all posts dedicated to file I/O here.