写入新文本文件时StreamWriter替换

时间:2013-09-13 13:31:47

标签: c# winforms streamwriter

是否有任何可能的方法可以用字符串替换字符,例如将'\x0A'替换为"\r\n"。这是我的代码,老实说,我无法找到一种方法,更不用说Replace函数不允许String.Replace(Char, String)String.Replace(String, Char)

StreamWriter wwrite = new StreamWriter(sfd.FileName, false, Encoding.GetEncoding("EUC-JP"));
for (int i = 0; i < listView1.Items.Count; ++i)
{
    wwrite.WriteLine((i + 1).ToString() + "^" + listView1.Items[i].SubItems[3].Text);
}
wwrite.Close();

2 个答案:

答案 0 :(得分:1)

您可以通过简单地将字符转换为字符串然后调用Replace(string, string)重载来用字符串替换字符。例如:

wwrite.WriteLine((i + 1).ToString() + "^" + listView1.Items[i].SubItems[3].Text.Replace("\x0A", "\r\n"));

你似乎对字符串感到困惑。字符串只是一组字符。因此"\n"'\n'基本上是相同的值。第一个将值存储为单个字符串,第二个存储与字符相同的值。如果要用实际字符串\n(作为两个单独的字符)替换换行符,则需要转义反斜杠,例如:

s = s.Replace("\n", "\\n");

或者:

s = s.Replace("\n", @"\n");

答案 1 :(得分:0)

Googled适用于StreamReader和StreamWriter以及found