C# System.IO.DirectoryNotFoundException: 找不到路径的一部分
C# System.IO.DirectoryNotFoundException: Could not find a part of the path
try
{
string directory = @"D:/user/user.txt";
FileStream FS = new FileStream(directory, FileMode.Append);
StreamWriter SW = new StreamWriter(FS);
string register;
register = $"{generateID()};{txtfirstName.Text};{txtLastName.Text};{txtUser.Text};{txtEmail.Text};{txtPersonalID.Text}";
SW.WriteLine(register);
SW.Close();
FS.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
我 运行 此代码在 c# windows 中形成 .NET 框架,我经常收到相同的消息。我在大学,我在编程方面还很陌生,所以我不知道哪里出了问题。你有什么想法?有什么想法吗?
你的问题有点令人费解。首先,你不应该命名你的变量 directory
因为最后它是一个文件名并按原样使用。
(我将忽略图像“D:\user\user.txt”和代码“D.:\user\user.txt”之间的区别,并假设您确实提到并确实使用过第一个)。
很可能 D:\User
目录不存在,FileStream
class 不会为您创建它。它会简单地假定指定文件名之前的所有(子)目录都存在,否则会失败。
因此请确保该目录存在,无论是在您的应用程序之外,还是像这样:
string fileName = @"D:\user\user.txt";
string directory = Path.GetDirectoryName(fileName);
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
FileStream FS = new FileStream(fileName, FileMode.Append);
// ... rest of code
您是 运行 windows 机器上的应用程序。在windows中,需要给出文件路径,如
字符串目录 = @"D:\user\user.txt";
另外,请确保此文件路径存在并且您 运行 的应用程序有权写入此文件。
如果您是 运行 测试应用程序,则将 FullControl 权限授予 Everyone。如下
如果您确定路径,请检查您是否运行 VS 作为管理员
try
{
string directory = @"D:/user/user.txt";
FileStream FS = new FileStream(directory, FileMode.Append);
StreamWriter SW = new StreamWriter(FS);
string register;
register = $"{generateID()};{txtfirstName.Text};{txtLastName.Text};{txtUser.Text};{txtEmail.Text};{txtPersonalID.Text}";
SW.WriteLine(register);
SW.Close();
FS.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
我 运行 此代码在 c# windows 中形成 .NET 框架,我经常收到相同的消息。我在大学,我在编程方面还很陌生,所以我不知道哪里出了问题。你有什么想法?有什么想法吗?
你的问题有点令人费解。首先,你不应该命名你的变量 directory
因为最后它是一个文件名并按原样使用。
(我将忽略图像“D:\user\user.txt”和代码“D.:\user\user.txt”之间的区别,并假设您确实提到并确实使用过第一个)。
很可能 D:\User
目录不存在,FileStream
class 不会为您创建它。它会简单地假定指定文件名之前的所有(子)目录都存在,否则会失败。
因此请确保该目录存在,无论是在您的应用程序之外,还是像这样:
string fileName = @"D:\user\user.txt";
string directory = Path.GetDirectoryName(fileName);
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
FileStream FS = new FileStream(fileName, FileMode.Append);
// ... rest of code
您是 运行 windows 机器上的应用程序。在windows中,需要给出文件路径,如
字符串目录 = @"D:\user\user.txt";
另外,请确保此文件路径存在并且您 运行 的应用程序有权写入此文件。
如果您是 运行 测试应用程序,则将 FullControl 权限授予 Everyone。如下
如果您确定路径,请检查您是否运行 VS 作为管理员