public static void WriteAllTextWithEncoding(string fileName, string str, Encoding encoding, bool appendBom) { fileName = InnerFilePath(fileName); byte[] data = encoding.GetBytes(str); byte[] bom = null; if (appendBom) { bom = Str.GetBOM(encoding); } data = Util.CombineByteArray(bom, data); File.WriteAllBytes(fileName, data); }