大容量
文件编码转换问题,高手请进,在线等 最近在做
一个项目,需要把
一个UTF-8编码的
文件转换成GB2312编码的
文件,由于
文件太大,有200多M,转换的时候十分消耗内存,请大家看一下,有什么办法可以节约内存,谢谢。
代码如下 原先的
代码,很耗内存。。。 My.Co
mputer.FileSy
stem.Wri
teallText(file2,My.Co
mputer.FileSy
stem.ReadAllText(file1),False,Sy
stem.Text.Encoding.GetEncoding( "GB2312 ")) 现在的
代码,也很耗内存。。。 byte1 = IO.File.ReadAllBytes(file1) byte2 = Encoding.Convert(Encoding.UTF8,Encoding.GetEncoding( "GB2312 "),byte1) IO.File.Wri
teallBytes(file2,byte2) __________________________________________________________________________ 你可以把这个文本分为N份,然后开N条线程转换,转换完后再合并 __________________________________________________________________________ 试一下: StreamReader sr = new StreamReader (file1,Encoding.UTF8); StreamWriter sw = new StreamWriter (file2,Encoding.GetEncoding("GB2312")); char[] buffer = new char[1024]; 然后循环从sr中读取到Buffer中,再Write到sw,直到
文件结束,后面的
代码略(因为下班了:)) __________________________________________________________________________