How to speed up reading from a file? (ReadAllText funcionality)

G

Guest

I would like to create a notepad-type appropriate text editor using CF.

I tried to open a file and read its content to a textbox using StreamReader:

try
{
using (StreamReader sr = File.OpenText(filename))
{
string line;

while ((line = sr.ReadLine()) != null)
{
text += line;
}

sr.Close();
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}

theTextBox.Text = text;

Reading a 162kB long text file needs more then one minute. It is too slow.
ReadAllText method is not supported in CF (and not supported in OpenNetCF).

Is there a way to speed up the code snippet above?

Please help!

Frankie
 
J

Jan Obrestad

How about using the ReadToEnd() method on the StreamReader object?

The reason what you're doing is slow, might be that you're creating a
new string object for each line of the file.
 
G

Guest

Using a StringBuilder, not a string for your text variable would probably
change the results by an order of magnitude or so.

-Chris
 
G

Guest

Thank you very much. It is perfect!

Frankie

Jan Obrestad said:
How about using the ReadToEnd() method on the StreamReader object?

The reason what you're doing is slow, might be that you're creating a
new string object for each line of the file.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top