Click here to Skip to main content
15,911,762 members
Home / Discussions / C#
   

C#

 
GeneralRe: Get Path & File name using OpenFileDialog Pin
Heath Stewart22-Nov-03 4:26
protectorHeath Stewart22-Nov-03 4:26 
leppie's right - what would you expect when opening such a large file?

Instead, read the file in blocks (streaming):
StreamReader reader = new StreamReader(openFileDialog1.FileName, true);
int read = 0;
char[] buffer = new char[4096];
do
{
  read = s.Read(buffer, 0, buffer.Length);
  Console.Write(buffer);
} while (read == buffer.Length);
Notice that I also use a StreamReader. Any TextReader or TextWriter derivites are optimized for text. The boolean in the StreamReader constructor actually attempts to determine if the text is ASCII, UTF7 or 8, or Unicode. If you use a stream, you have to know / determine the encoding yourself.

The main point, however, isthat you don't keep the entire file in memory. You dump the buffer and get more. Displaying a 200 MB file will take that much memory plus more - and if you read an ASCII file into a Char array, you'll waste even more memory because .NET stores characters and strings as Unicode - thus taking two bytes per character.

 

-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
GeneralRe: Get Path & File name using OpenFileDialog Pin
Steve McLenithan22-Nov-03 4:34
Steve McLenithan22-Nov-03 4:34 
GeneralIcon Background Pixels Pin
Tristan Rhodes22-Nov-03 1:32
Tristan Rhodes22-Nov-03 1:32 
GeneralRe: Icon Background Pixels Pin
Heath Stewart22-Nov-03 4:34
protectorHeath Stewart22-Nov-03 4:34 
GeneralRe: Icon Background Pixels Pin
Tristan Rhodes22-Nov-03 7:17
Tristan Rhodes22-Nov-03 7:17 
GeneralRe: Icon Background Pixels Pin
Heath Stewart22-Nov-03 11:21
protectorHeath Stewart22-Nov-03 11:21 
GeneralRe: Icon Background Pixels Pin
Tristan Rhodes22-Nov-03 12:09
Tristan Rhodes22-Nov-03 12:09 
GeneralRe: Icon Background Pixels Pin
Heath Stewart24-Nov-03 3:43
protectorHeath Stewart24-Nov-03 3:43 
GeneralListing ODBC sources in a drop-down list box Pin
NikV22-Nov-03 1:28
NikV22-Nov-03 1:28 
GeneralRe: Listing ODBC sources in a drop-down list box Pin
Heath Stewart22-Nov-03 4:53
protectorHeath Stewart22-Nov-03 4:53 
GeneralRe: Listing ODBC sources in a drop-down list box Pin
NikV22-Nov-03 12:49
NikV22-Nov-03 12:49 
GeneralRe: Listing ODBC sources in a drop-down list box Pin
Heath Stewart24-Nov-03 3:49
protectorHeath Stewart24-Nov-03 3:49 
GeneralRe: Listing ODBC sources in a drop-down list box Pin
Nick Parker23-Nov-03 3:22
protectorNick Parker23-Nov-03 3:22 
GeneralRe: Listing ODBC sources in a drop-down list box Pin
Nik Vogiatzis23-Nov-03 11:28
Nik Vogiatzis23-Nov-03 11:28 
GeneralCustomizing buttons Pin
rul30321-Nov-03 13:57
rul30321-Nov-03 13:57 
GeneralRe: Customizing buttons Pin
A.Wegierski21-Nov-03 17:54
A.Wegierski21-Nov-03 17:54 
GeneralRe: Customizing buttons Pin
Heath Stewart22-Nov-03 4:46
protectorHeath Stewart22-Nov-03 4:46 
QuestionHow to access command prompt Pin
Anonymous21-Nov-03 10:17
Anonymous21-Nov-03 10:17 
AnswerRe: How to access command prompt Pin
obelisk2921-Nov-03 10:35
obelisk2921-Nov-03 10:35 
GeneralWıindows does not shut down! Heelp! Pin
Utku KAYA21-Nov-03 9:00
Utku KAYA21-Nov-03 9:00 
GeneralRe: Wıindows does not shut down! Heelp! Pin
Daniel M. Edwards21-Nov-03 13:13
Daniel M. Edwards21-Nov-03 13:13 
GeneralRe: Wıindows does not shut down! Heelp! Pin
JJF00721-Nov-03 14:24
JJF00721-Nov-03 14:24 
QuestionHow can a service programatically kill itself Pin
Darryl Borden21-Nov-03 6:18
Darryl Borden21-Nov-03 6:18 
AnswerRe: How can a service programatically kill itself Pin
Darryl Borden21-Nov-03 6:48
Darryl Borden21-Nov-03 6:48 
GeneralGrabbing an tab page from a tab control Pin
RB@Emphasys21-Nov-03 4:09
RB@Emphasys21-Nov-03 4:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.