更新时间:2023-01-31 17:44:13
以下代码不会关闭读取器 - 它会再次关闭写入器.即使它有效,它也会在您真正阅读之前关闭阅读器.
The following code does not close the reader - it closes the writer again. Even if it worked it would close the reader before you actually read.
System.IO.StreamReader fileUsername = new System.IO.StreamReader("C:\\Users\\Public\\Usernames.txt");
file.Close();
string retrievedUsername = fileUsername.ReadToEnd();
file.Close();
你应该让你的代码看起来像这样:
You should make your code look like this:
using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt"))
{
file.WriteLine();
}
int userType = 0;
string retrievedUsername = String.Empty;
using (System.IO.StreamReader fileUsername = new System.IO.StreamReader("C:\\Users\\Public\\Usernames.txt"))
{
retrievedUsername = fileUsername.ReadToEnd();
}
下面的代码也有缺陷:
The code that follows is also flawed:
System.IO.StreamWriter files = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt");
file.WriteLine(registeredUsername);
file.Close();
看到错误了吗?您正在打开(而不是关闭!!)一个名为 files
的 StreamWriter
,但您正在尝试编写并尝试关闭 file
.大错.
See the error? You're opening (and not closing!!) a StreamWriter
called files
, but you're trying to write and trying to close file
. Big mistake.
这也可以像这样修复:
using (System.IO.StreamWriter files = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt"))
{
files.WriteLine(registeredUsername);
}