How to Read an Entire File to a String Using C#?

What is the quickest way to read a text file into a string variable?

I understand it can be done in several ways, such as read individual bytes and then convert those to string. I was looking for a method with minimal coding.

1

15 Answers

How about File.ReadAllText:

string contents = File.ReadAllText(@"C:\temp\test.txt");
6

A benchmark comparison of File.ReadAllLines vs StreamReader ReadLine from C# file handling

Results. StreamReader is much faster for large files with 10,000+ lines, but the difference for smaller files is negligible. As always, plan for varying sizes of files, and use File.ReadAllLines only when performance isn't critical.

StreamReader approach

As the File.ReadAllText approach has been suggested by others, you can also try the quicker (I have not tested quantitatively the performance impact, but it appears to be faster than File.ReadAllText (see comparison below)). The difference in performance will be visible only in case of larger files though.

string readContents;
using (StreamReader streamReader = new StreamReader(path, Encoding.UTF8))
{
     readContents = streamReader.ReadToEnd();
}
David Miller

David Miller

Executive Financial & Market Analyst

David Miller brings 15 years of experience in global economics, personal finance strategy, and market dynamics. He specializes in turning complex economic trends into actionable insights for everyday readers.