我有一个文件,其中包含以下内容:
#Mon Jun 16 14:47:57 EDT 2014
DownloadDir=download
UserID=1111113
InputURL=https\://sdfsfd.com
DBID=1212
VerificationURL=https\://check.a.com
DownloadListFile=some.lst
UploadListFile=some1.lst
OutputURL=https\://sd.com
Password=bvfSDS3232sdCFFR
我想打开文件并修改内容,将|TEST ONLY
添加到UserID
的末尾。编辑过的文件将是:
#Mon Jun 16 14:47:57 EDT 2014
DownloadDir=download
UserID=1111113|TEST ONLY
InputURL=https\://sdfsfd.com
DBID=1212
VerificationURL=https\://check.a.com
DownloadListFile=some.lst
UploadListFile=some1.lst
OutputURL=https\://sd.com
Password=bvfSDS3232sdCFFR
我怎样才能实现它?
到目前为止,我能够读取文件中的所有行。这就是我所拥有的:
if (File.Exists(strRootPropertyFile))
{
string[] lines = null;
try
{
lines = File.ReadAllLines(strRootPropertyFile);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
if (lines != null)
{
//find the line with the UserID
//add `|TEST ONLY` at the end of the UserID
//Overwrite the file...
}
}
答案 0 :(得分:4)
您可以在行之间循环并检查该行是否以"UserID="
字符串开头并添加您需要的字符串。之后,创建一个新文件并使用File.WriteAllText()
方法覆盖当前文件,并使用string.Join
(中断行)作为分隔符Environment.NewLine
。
if (File.Exists(strRootPropertyFile))
{
string[] lines = null;
try
{
lines = File.ReadAllLines(strRootPropertyFile);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
if (lines != null)
{
for(int i = 0; i < lines.Length; i++)
if (lines[i].StartWith("UserID="))
lines[i] += "|TEST ONLY";
File.WriteAllText(strRootPropertyFile, string.Join(Environment.NewLine, lines));
}
}
答案 1 :(得分:1)
我认为最好的办法是: