jwcolby
jwcolby at colbyconsulting.com
Tue Oct 20 15:00:53 CDT 2009
Thanks Shamil!
John W. Colby
www.ColbyConsulting.com
Shamil Salakhetdinov wrote:
> Hi John,
>
> Try this code snippet changing input and output files' paths:
>
> int bufferSize = 1024*1024;
>
> string inputFile = @"c:\temp\inputFile.txt";
> string outputFile = @"c:\temp\outputFile.txt";
>
> System.IO.FileStream inputStream =
> new System.IO.FileStream(
> inputFile,
> System.IO.FileMode.Open,
> System.IO.FileAccess.Read,
> System.IO.FileShare.None,
> bufferSize);
> System.IO.FileStream outputStream =
> new System.IO.FileStream(
> outputFile,
> System.IO.FileMode.Create,
> System.IO.FileAccess.Write,
> System.IO.FileShare.None,
> bufferSize);
>
> byte[]data = new byte[bufferSize];
> int offset = 0;
> int totalLength = 0;
> int length = 0;
> while ((length = inputStream.Read(data, offset, bufferSize)) > 0)
> {
> totalLength += length;
>
> string text = System.Text.Encoding.ASCII.GetString(data);
> text = text.Replace((char)26, ' ').Replace((char)0x1a,' ') ;
> data = System.Text.Encoding.ASCII.GetBytes(text);
>
> outputStream.Write(data, offset, length);
> }
>
> inputStream.Close();
> outputStream.Close();
>
> Console.WriteLine("Total length test: {0}", totalLength);
>
> HTH.
>
> --
> Shamil
>
> -----Original Message-----
> From: dba-vb-bounces at databaseadvisors.com
> [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
> Sent: Tuesday, October 20, 2009 7:45 PM
> To: VBA
> Subject: [dba-VB] C# replace a special character
>
> I have a file which contains a sprinkling of a special character - decimal
> 26, hex 1A (the SUB
> character). This special character in the CSV file output to Accuzip causes
> Accuzip to hiccup. In
> order to get on with my life I need to pre-process the files to get rid of
> this special character.
> Because of the size of these files (hundreds of mbytes) I need to do a
> readline / replace /
> writeline kind of thing. I think I need to use the stringbuilder.replace
> but I do not know how to
> specify replacing this hex 1A with something else. The something else would
> ideally be nothing
> (empty string) but can be any valid alpha character (A, B etc).
>
> Can anyone help me with this replace part of the problem. C# syntax please.
>