如何改变通过代码编码的文本文件? 我使用此代码实际创建的文件本身,但我怎么能更改编码(改为UTF-8 W / O BOM)
string path = @"E:\Test\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
}
如何改变通过代码编码的文本文件? 我使用此代码实际创建的文件本身,但我怎么能更改编码(改为UTF-8 W / O BOM)
string path = @"E:\Test\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
}
你可以做这样的事情,但我不知道这使得真正意义,因为它似乎你在你的文件中没有的内容...
如果你有一个内容,更换string.Empty
由内容
File.WriteAllText(path, string.Empty, Encoding.GetEncoding(<someEncodingCode>));
编辑:
File.WriteAllText(path, string.Empty, new UTF8Encoding(false));
首先,除了少数碱(例如,一个Unicode BOM,XML的编码规则),你将需要某种形式的元数据来告诉你目前的编码。 尽管一些工具会做出猜测,他们是不可靠的(例如,在不同的拉丁编码ISO / IEC 8859-1没有什么区分它们)。
一旦你知道输入编码,通过实例Encoding
,与编码的名称创建的,到StreamReader
构造函数,创建一个实例StreamWriter
与所需的输出编码,然后从一个到另一个泵串。
(如果您知道这些文件是不是太大:一气呵成与阅读一切File.ReadAllTetxt
与写File.WriteAllText
,内搭Encoding
参数。