简体   繁体   English

使用System.IO登录和注册

[英]Login and Register using System.IO

Don't Know What's wrong but I can't Access even It created a directory.. This is my code 不知道出了什么问题,但即使创建目录也无法访问。这是我的代码

private void btnRegister_Click(object sender, EventArgs e)
{
    try
    {
        var sw = new System.IO.StreamWriter("E:Praisey\\" + txtAcc.Text + "\\Login.ID");
        sw.Write(txtAcc.Text + "\n" + txtZipCode.Text);
        sw.Close();
    }
    catch(System.IO.DirectoryNotFoundException ex)
    {
        System.IO.Directory.CreateDirectory("E:Praisey\\" + txtAcc.Text + "\\Login.ID");
        var sw = new System.IO.StreamWriter("E:Praisey\\" + txtAcc.Text + "\\Login.ID");
        sw.Write(txtAcc.Text + "\n" + txtZipCode.Text);
        sw.Close();
    }
}

it always getting error! 它总是会出错! The error is 错误是

UnauthorizedAccessException was unhandled 未处理UnauthorizedAccessException

Access to the path 'E:\\Praisey\\48492995\\Login.ID' is denied. 拒绝访问路径“ E:\\ Praisey \\ 48492995 \\ Login.ID”。

This error occurs (had it yesterday too) when the Directory does not exist. Directory不存在时,会发生此错误(昨天也有)。 You need to create it before starting your StreamWriter . 您需要在启动StreamWriter之前创建它。

if (!Directory.Exists("E:Praisey\\" + txtAcc.Text))
    Directory.CreateDirectory("E:Praisey\\" + txtAcc.Text);

As I see from your catch block, "E:Praisey\\\\" + txtAcc.Text + "\\\\Login.ID" is actually a directory. 从您的catch块中可以看到, "E:Praisey\\\\" + txtAcc.Text + "\\\\Login.ID"实际上是一个目录。 You must also add the file name to the path. 您还必须将文件名添加到路径。

var sw = new System.IO.StreamWriter("E:Praisey\\" + txtAcc.Text + "\\Login.ID\\filename.txt");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM