我正在尝试使用 Stream Writer 写入特定的行部分,这是我目前所拥有的:
异常消息给了我:索引超出了数组的范围。
private void WriteData(string playerName)
{
StreamWriter nameWriter = null;
StringBuilder sb = new StringBuilder();
try
{
string line = "";
string namePartOne = line.Split(DELIMITER)[0];
string namePartTwo = line.Split(DELIMITER)[1];
if (namePartOne != EMPTY)
{
namePartTwo = playerName;
string[] gameState = { namePartOne, namePartTwo, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY };
sb.Append(gameState);
nameWriter.WriteLine(String.Join(",", gameState));
}
else
{
nameWriter = new StreamWriter(filepath, true);
string[] gameState = { playerName, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY };
nameWriter.WriteLine(String.Join(",", gameState));
}
}
catch (Exception ex)
{
txtTextBox2.Text = "The following problem ocurred when writing to the file:\n"
+ ex.Message;
}
finally
{
// Closing the StreamWriter should close it
// AND its underlying FileStream
if (nameWriter != null)
nameWriter.Close();
}
}
我试图把它放到我的文本文件中:
playerOneName, playerTwoName, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY
基本上,这个作家习惯于从他的浏览器中写出玩家二的名字,并从另一个浏览器/标签中写出玩家二的名字。我首先要检查玩家的名字是否写在第一个字段中,如果是,我会在第二个字段中写第二个玩家。其他字段留空以描述游戏运行时的游戏状态。
我可能有逻辑问题,如果你看到任何问题,请指出。我可以使用正则表达式来比较和验证我的球员在场吗?
我需要先流式读取此文件,然后才能流式写入文件,对吗?
我正在使用 APS.NET 网站和表单运行 Visual Studio '08。