【问题标题】:How to add a line of text to a text file being read in, C#如何将一行文本添加到正在读取的文本文件中,C#
【发布时间】:2020-03-15 19:43:11
【问题描述】:

我正在读取包含电影内容的文件,例如 ID、电影名称、类型、发行年份以及电影是否可用。

例子:

01#Inside Out#Comedy#2015#True

02#Inside Out#Comedy#2015#True

03#玩具总动员4#Family#2019#True

04#玩具总动员4#Family#2019#True

我想做的是将另一部电影添加到 .txt 文件中,直接位于所有其他电影的下方。如何提示用户输入电影的每个值,并将其保存在与其他电影相同的文件中?

【问题讨论】:

  • File.AppendAllText() 下一个问题?

标签: c# append


【解决方案1】:

你需要写的代码是这样的:

using (StreamWriter sw = File.AppendText("C:\\some\\path\\movies.txt")) 
{
    sw.WriteLine("New line");            
}

如何选择提供进入该文件的实际数据取决于您。这取决于您拥有的应用程序类型,即它是 GUI 应用程序还是控制台应用程序。

在任何一种情况下,与上述类似的代码都会将文本(在本例中为 New line)附加到指定文件的末尾。

如果您想使用变量添加这些特定值,您可以将写入内容的行替换为:

sw.WriteLine($"{id}#{title} #{genre}#{year}#{available}");

...然后为每个变量提供值。本质上,对每部电影执行以下操作(注意 - 我只是在猜测最后一个值的含义;布尔值 true/false):

var id= "123";
var title = "Great misadventures in code";
var genre = "SciFi/Horror";
var year = "2021";
var available = "No";

【讨论】:

    【解决方案2】:

    如前所述,File.AppendAllText 是要使用的方法,但请注意它不会插入换行符,因此您必须将其包含在附加文本中,例如:

    File.AppendAllText(@"path to file", $"\n{Id}#{Title}#{Genre}#{ReleaseYear}#{Available}");
    

    其中 {} 中的变量保存用户输入的适当值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 2011-01-24
      • 1970-01-01
      相关资源
      最近更新 更多