我有下一个代码:
private void button1_Click_1(object sender, EventArgs e)
{
string path = AppDomain.CurrentDomain.BaseDirectory.ToString();
var link = File.ReadLines(path + "test.txt").ToArray();
var lines = File.ReadAllLines(path + "test2.txt");
foreach (var txt in link )
{
if (txt.Contains("Output="))
{
var outputPath = txt.Split('=')[1];
if (File.Exists(path + "test2.txt"))
{
var modifiedLines = lines.Select(line =>
{
if (line.StartsWith("outlog=\""))
{
return string.Format("outlog=\"{0}\"", outputPath);
}
else
{
return line;
}
});
File.WriteAllLines(path+ "test2.txt", modifiedLines);
}
}
}
使用这段代码,我可以复制Output="C:\temp\out.log"
(谁在test.txt中)后面的内容,等于outlog=
(谁在test2.txt中)。
如何在第二个字段test.txt
的指定位置复制一个文本文件test2.txt
中存在的文字,没有提及行号?
这里我只放了一行,但在我的文件文本中我有很多行,但我想我可以使用它,我处理另一行。
test.txt
有
Licfile="C:\temp\lic.lic"
Output="C:\temp\out.log"
Title="name"
test2.txt
有
outlog=
license=
lmgr_files=
license_path=
在运行代码之后{I}我希望看起来像这样:
test2.txt
答案 0 :(得分:0)
我对你的问题感到困惑,但我只想试着给你一个意见。我希望它可以帮助你。但是行号对于这些问题非常重要。
String[] arrayOld = File.ReadAllLines(@"C:\test.txt");
String[] arrayNew = new string[arrayOld.Length];
if (arrayOld[0].Contains("Licfile=")) // If statements could be more
{
Array.Copy(arrayOld,0,arrayNew,0,2); // How many line will add
}
for (int i = 0; i < 2; i++)
{
File.AppendAllText(@"D:\test2.txt", arrayNew[i] + Environment.NewLine); // It'll add all lines
}
P.S。:不要忘记添加 lineOne =“outlog =”+ locString; 等字符串。