如何通过系统.在Application.StartUpPath中写入文件时出现UnauthorizedAccessExc

本文关键字:文件 UnauthorizedAccessExc 系统 何通过 Application StartUpPath | 更新日期: 2023-09-27 18:04:02

当我写入我在Application中创建的文件时。Visual studio中的StartUpPath给了我系统。UnauthorizedAccessException错误。有什么方法可以访问它吗?c:' users ' jessie ' documents ' visual Studio 2013'Projects'WindowsFormsApplication2'WindowsFormsApplication2'Form1.cs:第112行是错误产生的直接路径。我已经尝试过File.SetAttributes了。这是产生错误的区域:

public void writeAll()
    {
        var path = Application.StartupPath;
        try
        {
            if (!File.Exists(path))
            {
                File.CreateText(path);
            }
            using (StreamWriter Writer = new StreamWriter(path))
            {                                       
                foreach (TextBox textBox in tableLayoutPanel1.Controls.OfType<TextBox>())
                {
                    Writer.WriteLine(textBox.Text);
                }
                foreach (Label label in tableLayoutPanel1.Controls.OfType<Label>())
                {
                    Writer.WriteLine(label.Text);
                }
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }

感谢帮助!

如何通过系统.在Application.StartUpPath中写入文件时出现UnauthorizedAccessExc

应用。StartupPath只是运行应用程序的文件夹。对于当前的代码,您正在尝试仅使用该文件夹创建文本文件。您需要为文本文件指定一个名称。尝试使用Path.Combine()和Application。StartupPath和文本文件的字符串。例如:

string fileName = "myFile.txt";
string fileLocation = Path.Combine(Application.StartupPath, fileName);
if(!File.Exists(fileLocation))
{ File.Create(fileLocation); }

Application.StartupPath是一个文件夹。

如果您想在该文件夹中创建一个文件,您需要使用Path.Combine()来添加文件名。