C# 如何获取文件名以及如何在指定行之前添加新行?

C# 如何获取文件名以及如何在指定行之前添加新行?,c#,C#,我有一个变量,用于获取目标: var lin = (Path + "config.ini").ToString(); var lines = File.ReadAllLines(lin); var InstallerFile = lines.Where(txt => txt.Contains("IstallerFile=")) .Select(txt => txt.Split('=')[1].Replace("\"", "")).FirstOr

我有一个变量,用于获取目标:

var lin = (Path + "config.ini").ToString();
var lines = File.ReadAllLines(lin);
var InstallerFile = lines.Where(txt => txt.Contains("IstallerFile="))
                    .Select(txt => txt.Split('=')[1].Replace("\"", "")).FirstOrDefault();
运行此代码后,我将拥有:
InstallerFile=D:\folder\installer.ini
InstallerFile=D:\folder\installer\u input.ini
这取决于我在
config
文件中拥有的内容。 现在用以下命令在
C:\temp\
中复制该文件:

if (File.Exists(InstallerFile))
    System.IO.File.Copy(InstallerFile, @"C:\temp\");
现在我想验证文件的名称,因为行不同。例如,如果我有
installer.ini
我需要这样做:

var modifiedLines = linesInst.Select(line =>
{
    if (line.StartsWith("destination="))
        return string.Format("destination=\"{0}", textBox1.Text);
    else
        return line;
});

File.WriteAllLines(InstallerFile, modifiedLines);
如果我有
installer\u input.ini
,我需要在文件中以
开头的行前面添加一行。

所以我有两个问题,一个是如何获取文件名,另一个是如何在指定行之前添加新行?

您可以通过以下方式获取文件名:

Path.GetFileName(path)
若要在特定行之前插入新行,必须读取所有文件,当找到特定行时,推送新元素。示例代码如下所示:

string path=Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"32901448","InputFle.txt");
            string[] lines = File.ReadAllLines(path);
            List<string> linesOut = new List<string>();
            foreach (string line in lines)
            {
                if (line.ToUpper().Trim() == "BLUE")
                {
                    linesOut.Add("YELLOW");    
                }
                linesOut.Add(line);
            }

            File.WriteAllLines(path, linesOut);
string path=path.Combine(AppDomain.CurrentDomain.BaseDirectory,“32901448”,“InputFle.txt”);
string[]lines=File.ReadAllLines(路径);
List linesOut=新列表();
foreach(行中的字符串行)
{
如果(line.ToUpper().Trim()=“蓝色”)
{
linesOut.添加(“黄色”);
}
linesOut.Add(行);
}
File.writeAllines(路径,linesOut);

这个数字“32901448”是什么意思?使用这个路径.GetFileName(Path)可以获得所有文件名,我需要验证我是否有installer.ini或installer\u input.ini 32901448是一个子文件夹,其中包含我的文件ex:c:/32901448/InputFle.txt。要验证文件是否存在,您可以使用file.Exists(您的\u路径\u文件名)如果这是一个允许用户设置配置的配置文件,那么为什么逻辑依赖于其中的特定值?!因为安装是使用installer.ini文件进行的。你能给我一个答案吗?