我的代码是:
var previousLines = new HashSet<string>();
File.WriteAllLines("D:\\textfile2.txt",
File.ReadLines("textfile1.txt").Where(line => previousLines.Add(line)),
Encoding.GetEncoding("ISO-8859-2"));
我有两个文本文件。在textfile1.txt
我的单词中,有ł,±,ę等字母。我想将所有没有重复的行重写到文件中textfile2.txt
,但是编码无法按预期工作。它吃一些字母,例如ł,±,ę。为什么会这样呢?
您需要使用与编写相同的编码textfile1.txt
。默认情况下,UTF-8用于读取File.ReadLines
。
如果在编写时使用过ISO-8859-2,则需要指定它:
File.ReadLines("textfile1.txt", Encoding.GetEncoding("ISO-8859-2"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句