gpt4 book ai didi

c# - 错误 : Help D: System. IO.IOException:进程无法访问该文件,因为它正被另一个进程使用

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:49 25 4
gpt4 key购买 nike

代码在这里._.

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{

static void Main(string[] args)
{
System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt");
file.WriteLine();
file.Close();
int userType = 0;
System.IO.StreamReader fileUsername =
new System.IO.StreamReader("C:\\Users\\Public\\Usernames.txt");
file.Close();
string retrievedUsername = fileUsername.ReadToEnd();
file.Close();



Console.WriteLine("Please note that this is a prototype, passwords are not hashed/encrypted ^_^");
Console.WriteLine("Welcome to the meData service! Ver. 0.01 Beta, made by mechron");
Console.WriteLine("Please enter your username below or type register to register a new account on this device");
string loginUsername = Console.ReadLine();
if (loginUsername == retrievedUsername)
{

Console.WriteLine("Welcome back user!");
userType = 1;
}
else
{
if (loginUsername == "register")
{

Console.WriteLine("Choose your username!");
string registeredUsername = Console.ReadLine();
System.IO.StreamWriter files = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt");
file.WriteLine(registeredUsername);
file.Close();
}
else
{
Console.WriteLine("Error, command not recognized");}

}


}


}
}

我上面的代码 ^^ Erm...好吧...我遇到了麻烦....System.IO.IOException:进程无法访问该文件,因为它正被另一个进程使用当我点击这条线时不断弹出 System.IO.StreamWriter files = new System.IO.StreamWriter("C:\Users\Public\Usernames.txt");;;有人能帮我吗?提前致谢!

最佳答案

以下代码不会关闭读取器 - 它会再次关闭写入器。即使有效,它也会在您实际阅读之前关闭阅读器。

System.IO.StreamReader fileUsername = new System.IO.StreamReader("C:\\Users\\Public\\Usernames.txt");
file.Close();
string retrievedUsername = fileUsername.ReadToEnd();
file.Close();

你应该让你的代码看起来像这样:

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();
}

下面的代码也有缺陷:

System.IO.StreamWriter files = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt");
file.WriteLine(registeredUsername);
file.Close();

看到错误了吗?您正在打开(而不是关闭!!)一个名为 filesStreamWriter,但您正在尝试写入并试图关闭 file。大错。

也可以这样解决:

using (System.IO.StreamWriter files = new System.IO.StreamWriter("C:\\Users\\Public\\Usernames.txt"))
{
files.WriteLine(registeredUsername);
}

关于c# - 错误 : Help D: System. IO.IOException:进程无法访问该文件,因为它正被另一个进程使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22295722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com