判断文件编码并且替换指定字符串的方法
Posted HenRy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断文件编码并且替换指定字符串的方法相关的知识,希望对你有一定的参考价值。
1 private void Replace(string oldStr, string newStr, string file) 2 { 3 FileStream fs = File.OpenRead(file); 4 //to know if this file is text file or binary file 5 byte b; 6 for (long i = 0; i < fs.Length; i++) 7 { 8 b = (byte)fs.ReadByte(); 9 if (b == 0) 10 { 11 MessageBox.Show("Not Text File"); 12 return;//if there is this byte then this is not text file。 13 } 14 } 15 //Judge the type of encoding。 16 byte[] bytes = new byte[2]; 17 Encoding coding = Encoding.Default; 18 if (fs.Read(bytes, 0, 2) > 2) 19 { 20 if (bytes == new byte[2] { 0xFF, 0xFE }) coding = Encoding.Unicode; 21 if (bytes == new byte[2] { 0xFE, 0xFF }) coding = Encoding.BigEndianUnicode; 22 if (bytes == new byte[2] { 0xEF, 0xBB }) coding = Encoding.UTF8; 23 } 24 fs.Close(); 25 26 string text = File.ReadAllText(file,coding); 27 File.WriteAllText(file, text.Replace(oldStr, newStr), coding); 28 }
以上是关于判断文件编码并且替换指定字符串的方法的主要内容,如果未能解决你的问题,请参考以下文章
java 替换文本中的所有指定的字符串,比如#*替换为sq, #**替换为we, 我使用了replaceAll进行的替换