简体   繁体   中英

Access denied error when trying to save file to directory

I am trying to write a file on button click event but getting an unauthorized error when trying to do so.

Here is my code:

private void button1_Click(object sender, EventArgs e)
    {
        {
            string path = @"c:\program files\MyTest.txt";
            if (!File.Exists(path))
            {
                // Create a file to write to.
                using (StreamWriter sw = File.CreateText(path))
                {
                    sw.WriteLine("Hello");
                }
            }

            // Open the file to read from.
            using (StreamReader sr = File.OpenText(path))
            {
                string s = "";
                while ((s = sr.ReadLine()) != null)
                {
                    Console.WriteLine(s);
                }
            }
        }

Getting the error by:

using (StreamWriter sw = File.CreateText(path))

Not sure what i am doing wrong? Could someone please help?

Thanks

By default in Windows a user or a programm started by a user can't write files to every location on a Windows pc.

Maybe try saving your file to a different location. If that doesn't cut it for you, then you may need to look into running your programm at an elevated permission level

If you just want to save a file for your application the tippical place to do so would be the AppData Folder. The tipcal way of getting its path goes somthing like this:

string path=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)+"/MyApplicationFolder";

您应该更改路径以授权文件夹,例如:

string path=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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