[英]How to add a line of text to a text file being read in, C#
我正在阅读一个包含电影内容的文件,例如 ID、电影标题、流派、发行年份以及电影是否可用。
例子:
01#Inside Out#喜剧#2015#True
02#Inside Out#喜剧#2015#True
03#玩具总动员4#Family#2019#True
04#玩具总动员4#Family#2019#True
我想做的是在所有其他电影的正下方的.txt 文件中添加另一部电影。 如何提示用户输入电影的每个值,并将其保存在与电影的 rest 相同的文件中?
您应该可以为此使用 append ,如下所示。
https://docs.microsoft.com/en-us/dotnet/api/system.io.file.appendtext?view=netframework-4.8
你需要写的行是这样的:
using (StreamWriter sw = File.AppendText("C:\\some\\path\\movies.txt"))
{
sw.WriteLine("New line");
}
如何选择提供进入该文件的实际数据取决于您。 这取决于您拥有的应用程序类型,即它是 GUI 应用程序还是控制台应用程序。
在任何一种情况下,与上述类似的代码都会将 append 文本(在本例中为New line
)到指定文件的末尾。
如果您想使用变量添加这些特定值,您可以将写入内容的行替换为:
sw.WriteLine($"{id}#{title} #{genre}#{year}#{available}");
...然后为每个变量提供值。 本质上,对每部电影执行以下操作(注意 - 我只是在猜测最后一个值的含义;boolean 是/否):
var id= "123";
var title = "Great misadventures in code";
var genre = "SciFi/Horror";
var year = "2021";
var available = "No";
如前所述, File.AppendAllText
是要使用的方法,但请注意,它不会插入换行符,因此您必须将其包含在附加文本中,例如:
File.AppendAllText(@"path to file", $"\n{Id}#{Title}#{Genre}#{ReleaseYear}#{Available}");
其中 {} 中的变量保存用户输入的适当值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.