如何使用带有特殊标志的StreamWriter保存文件

本文关键字:标志 StreamWriter 保存文件 何使用 | 更新日期: 2023-09-27 18:27:25

我有以下简单代码:

File.Copy("in.txt", "elem.txt", true);
    string[] lines = File.ReadAllLines("temp.txt");
    StreamWriter sw = new StreamWriter("in.txt", false);
    sw.Flush();
    foreach (string line in lines)
    {
        if (line.Contains("obcy"))
        {
           line.Remove(0);
           continue;
        }
    sw.WriteLine(line);                
    } 

第一个字符串:

Temat、Lokalizacja、Data rozpoczÉcia、Czas rozpochzÉcia

行删除工作正常,只有此字符工作不正常。

我的临时文件包含特殊字符,如"É"或"ń",当我将其写入in.txt文件时,我会得到以下结果:

Temat、Lokalizaja、Data rozpocz�捷克共和国�cia

这个问题该怎么办?有什么想法吗?

如何使用带有特殊标志的StreamWriter保存文件

"问题在于编码。可能'temp.txt`具有Windows cp-1250编码。如果是,请将编码作为第二个参数传递给ReadAllLines(请参阅重载)。"@pwas-

我对代码添加了以下更改:

string[] lines = File.ReadAllLines("elem.txt", Encoding.GetEncoding("Windows-1250"));

谢谢,伙计!