代码之家  ›  专栏  ›  技术社区  ›  andres descalzo

用双引号保存文件

  •  0
  • andres descalzo  · 技术社区  · 15 年前

    我有这个代码可以写入一个文件,它工作得很好,但是我有一个案例,一个客户在记录的开头和结尾都记录了双引号。 我可以理解,通过编码替换重音符号,但我不喜欢我可以发生。

    编辑ini。

    string recno = string.empty;
    
    recno = "123;1548;1567;10-10-01";
    

    编辑结束。

    using (FileStream fsRes = new FileStream(fileSts, FileMode.Append))
    {
       using (TextWriter twRes = new StreamWriter(fsRes, Encoding.GetEncoding(1252)))
       {
          twRes.WriteLine(recno);
       }
    }
    

    文件数据:

    正常行为:

    123;1548;1567;10-10-01
    

    在有问题的客户机上:

    "123;1548;1567;10-10-01"
    

    编辑: 我不知道怎么解释,但问题是以同样的方式开始的,所以我结束了。 所以,抱歉,但不知道发生了什么,只是希望不会再发生。

    我没有更改项目,代码是我用作示例的。

    谢谢大家的回答。

    @鲍比,我会看到然后实现你输入的代码。

    3 回复  |  直到 14 年前
        1
  •  0
  •   Bobby    14 年前

    也许是短信写手的问题?

    using (StreamWriter strm = new StreamWriter(fileSts, true, Encoding.GetEncoding(1252))) {
        strm.WriteLine(recno);
    }
    
        2
  •  2
  •   Jon Skeet    15 年前

    在我看来,这只是一个需要从字符串两端删除双引号的情况:

    recno = recno.Trim('\"');
    

    如果不是这样,请提供更多信息。我看不出这与文件或编码有什么关系。

        3
  •  0
  •   Marc    15 年前

    如果要替换所有引号(包括可能出现在文本中间的引号),可以使用:

    string s = recno.Replace("\"","");