Я неправильно указал функцию для чтения файла конфигурации, но если в аргументе командной строки указано "-ip x.x.x.x", я хочу перезаписать настройку IP в файле конфигурации. Я использую следующий код, который читает хорошо, но добавляет мою новую строку в конец. Как я могу переписать строку, которую он читает?
private static void ParsePropertiesFile(string file)
{
using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
StreamReader sr = new StreamReader(fs);
StreamWriter sw = new StreamWriter(fs);
string input;
while ((input = sr.ReadLine()) != null)
{
// SKIP COMMENT LINE
if (input.StartsWith("#"))
{
continue;
}
else
{
string[] line;
line = input.Split('=');
if (line[0] == "server-ip")
{
// If IP was not specified in the Command Line, use this instead
if (ServerSettings.IP == null)
{
// If the setting value is not blank
if (line[1] != null)
{
ServerSettings.IP = IPAddress.Parse(line[1]);
}
}
else
{
sw.("--REPLACE_TEST--");
sw.Flush();
}
}
}
}
}
}
Имеет смысл, почему он добавляется в конец, но я не могу придумать, как просто переписать строку, поскольку строка IP может быть длиннее, чем та, что есть в настоящее время.