【问题标题】:How can I replace a line in a text file with a string variable?如何用字符串变量替换文本文件中的一行?
【发布时间】:2016-08-10 23:13:36
【问题描述】:
            using (StreamReader file = new StreamReader(mainMenu.deckFile))
        {
            while ((line = file.ReadLine()) != null)
            {

我已经在阅读要替换的行,但我不知道如何将行替换为存储在变量中的文本。帮助表示赞赏。谢谢!

【问题讨论】:

标签: c#


【解决方案1】:

您不能“替换”文本文件中的一行。您必须将整个文本文件读入代码中的集合,用新值替换该行,然后将文本文件完整地写回。

string[] lines = File.ReadAllLines(filePath);

// find and replace the line you want.

File.WriteAllLines(filePath, lines);

【讨论】:

  • 非常感谢!使用此功能后,我遇到了“无法访问该文件,因为它正在被另一个进程使用”,但我意识到我将“File.WriteAllLines”命令放在“using(Streamreader)大括号内。:D
  • 是的,File.ReadAllLinesFile.WriteAllLines 巧妙地封装了 using 机制,让您远离麻烦 :)
【解决方案2】:

将文件内容读取到字符串变量或其他合适的变量中。

如果将文件内容写入字符串 var,请使用 mystringvar.indexof(myline) 查看该行是否存在,然后使用 mystringvar.replace(myline, mynewline) 将旧行替换为新行。 然后用 mystringvar 更新文本文件

【讨论】:

    猜你喜欢
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多