Possible Duplicate:
How to read a large (1 GB) txt file in .NET?
What is the optimal way in C# to read an file, replace some strings and write in another new file? I need to do this with very large files like 8GB or 25GB.
Large file text editorUltraEdit has no real limit on file size - and can easily open, edit, and save large text files in excess of 4 GB! If playback doesn't begin shortly, try restarting your device. Your browser can't play this video.
sed - Replace text quickly in very large file - Unix & Linux Stack Exchange.
There isn't much you can optimize about the I/O, most of the optimization should be on the string comparison to determine if the string should be replaced or not, basically you should do this
protected void ReplaceFile(string FilePath, string NewFilePath)
{
using (StreamReader vReader = new StreamReader(FilePath))
{
using (StreamWriter vWriter = new StreamWriter(NewFilePath))
{
int vLineNumber = 0;
while (!vReader.EndOfStream)
{
string vLine = vReader.ReadLine();
vWriter.WriteLine(ReplaceLine(vLine, vLineNumber++));
}
}
}
}
protected string ReplaceLine(string Line, int LineNumber )
{
//Do your string replacement and
//return either the original string or the modified one
return Line;
}
What is your criteria to find and replace a string?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With