【发布时间】:2021-09-18 02:51:18
【问题描述】:
首先我想说的是,我对 C# 和一般编码非常陌生,所以请原谅新手的错误。
我有一个类似这样的文本文档(手动插入)
[VIDEO]
[!VIDEO]
而且我希望能够在这两个“标签”之间写一些文本而不擦除它们。
目前我要在文档中写东西的代码是:
private void ReadVideoFiles()
{
string[] files =Directory.GetFiles(@"Z:\APP_LANX\VIDEOS", "*.mp4"); //Goes to the specific location of the file and gets the whole location
videoID = 0;
for (int i = 0; i < files.Length; i++)
{
videoID++;
files[i] = videoID.ToString() + ": " + files[i]; //changes the previous string so that it now contains the ID and the location
}
foreach (string file in files)
{
sw.WriteLine(file); //Uses the StreamWriter, declared previously
}
sw.Close();
}
但正如你可以想象的那样,这只是完全替换了文档中的所有内容并添加了代码,结果是这样的:
1: Z:\APP_LANX\VIDEOS\vid1.mp4
2: Z:\APP_LANX\VIDEOS\vid2.mp4
3: Z:\APP_LANX\VIDEOS\vid3.mp4
4: Z:\APP_LANX\VIDEOS\vid4.mp4
而不是这个
[VIDEO]
1: Z:\APP_LANX\VIDEOS\vid1.mp4
2: Z:\APP_LANX\VIDEOS\vid2.mp4
3: Z:\APP_LANX\VIDEOS\vid3.mp4
4: Z:\APP_LANX\VIDEOS\vid4.mp4
[!VIDEO]
有什么方法可以检查这些标签,以便我可以在两者之间进行写入?谢谢!
编辑*:稍后我将在此文本文件中添加新内容,例如在 [!VIDEO] 行之后,我将添加其他行,例如 EX1: 4 和其他多个不应被覆盖的行,只有这些标签之间的部分可以更改。
TL:DR - 基本上我希望能够在这两个标签之间添加文本(覆盖中间的任何内容),而文本文件的其余部分保持不变
【问题讨论】:
-
您好,欢迎来到 SO!
I want to be able to write some text in between these 2 "tags" without erasing them如果中间已经有数据,您要保留该数据还是覆盖它? -
@zaggler 感谢您的回复!两者之间的所有内容都将被覆盖
-
好的,如果您的要求是在开头和结尾都有
[VIDEO]和[!VIDEO],并且您想覆盖所有内容,为什么不重新创建它呢?您可以在循环之前编写开始标记,在循环之后编写结束标记。 -
@zaggler 因为稍后我将在文本文件中添加新内容,例如在
[!VIDEO]之后会有类似EX1: 4的内容以及不应覆盖的其他多行,只有那些标签之间的部分可以。不知道能不能说的太清楚了
标签: c# visual-studio text