C# 替换多个文件中的文本,但保留原始文本
(Visual Studio C#2010,Windows窗体应用程序) 嘿,我想替换.txt文件中的一些单词。我知道怎么做,但我不知道如何保持原始文件以及。我想将修改后的文本输出到与输入文件同名的文件中。否则,没有简单的方法进行比较,因为原始文件会被覆盖 这就是我目前所得到的C# 替换多个文件中的文本,但保留原始文本,c#,winforms,C#,Winforms,(Visual Studio C#2010,Windows窗体应用程序) 嘿,我想替换.txt文件中的一些单词。我知道怎么做,但我不知道如何保持原始文件以及。我想将修改后的文本输出到与输入文件同名的文件中。否则,没有简单的方法进行比较,因为原始文件会被覆盖 这就是我目前所得到的 this.openFileDialog1.Filter =`enter code here`"TEXT (*.xml;*.txt|"; this.openFileDialog1.Multiselect = true; t
this.openFileDialog1.Filter =`enter code here`"TEXT (*.xml;*.txt|";
this.openFileDialog1.Multiselect = true;
this.openFileDialog1.Title = "My text editor";
DialogResult dr = openFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
foreach (String file in openFileDialog1.FileNames)
{
try
{
StreamReader reader = new StreamReader(file);
string content = reader.ReadToEnd();
reader.Close();
content = Regex.Replace(content, "play", "player");
content = Regex.Replace(content, "game", "gamer");
content = Regex.Replace(content, "walk", "walking");
StreamWriter writer = new StreamWriter(file);
writer.Write(content); writer.Close();
}
catch
{ // The user lacks appropriate permissions to read files, discover paths, etc. MessageBox.Show("Security error. Please contact your administrator for details.\n\n" + "Error message: Not found" ); } {
}
}
}
在您的代码中,您正在使用相同的文件进行读取和写入-您只需将其写入与您正在读取的文件不同的文件
StreamReader reader = new StreamReader(file);
string content = reader.ReadToEnd();
reader.Close();
...
StreamWriter writer = new StreamWriter(some_other_file); // <--- here
writer.Write(content);
writer.Close();
StreamReader=新的StreamReader(文件);
字符串内容=reader.ReadToEnd();
reader.Close();
...
StreamWriter writer=新的StreamWriter(一些其他文件);// 请确保执行以下操作:
使用System.Text.RegularExpressions 只需为您的StreamWriter
提供一个不同的文件即可。现在,您提供了与您的StreamReader
相同的文件。