当我写入我在Visual Studio中的Application.StartUpPath中创建的文件时,它给出了System.UnauthorizedAccessException错误。有没有办法允许访问它? c:\ Users \ Jesse \ 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());
}
非常感谢帮助!
答案 0 :(得分:0)
Application.StartupPath
是一个文件夹。
如果要在该文件夹中创建文件,则需要使用Path.Combine()
添加文件名。
答案 1 :(得分:0)
Application.StartupPath只是运行应用程序的文件夹。使用当前代码,您尝试仅使用该文件夹创建文本文件。您需要为文本文件指定名称。尝试使用带有Application.StartupPath的Path.Combine()和文本文件的字符串。例如:
string fileName = "myFile.txt";
string fileLocation = Path.Combine(Application.StartupPath, fileName);
if(!File.Exists(fileLocation))
{ File.Create(fileLocation); }