在检查目录是否存在以及文件是否存在后,我尝试创建一个文件。
但是当我的程序到达这一行时,我收到无法创建文件的错误,因为它已被另一个进程使用。奇怪的是它不应该。即使文件不存在。
File.Create(Directory.GetCurrentDirectory() + "\\Channels\\" + saveFile).Close()
错误发生在这部分代码中,catch 不包括在内。我知道我应该使用 Using() 但这也应该有效。我不想以这种方式重做这部分,直到它以这种方式工作。
if (!System.IO.Directory.Exists(System.IO.Directory.GetCurrentDirectory() + "\\Channels"))
{
connection.Logger.Log("making " + System.IO.Directory.GetCurrentDirectory() + "\\Channels", false, LogMode.Info);
System.IO.Directory.CreateDirectory(System.IO.Directory.GetCurrentDirectory() + "\\Channels");
}
string saveFile = Program.RemoveForbiddenFileCharacters(this.ChannelName + ".Channel");
string saveFilePath = System.IO.Directory.GetCurrentDirectory() + "\\Channels\\" + saveFile;
FileStream fileStream = null;
StreamWriter streamWriter = null;
try
{
if (File.Exists(Directory.GetCurrentDirectory() + "\\Channels\\" + saveFile))
{
File.Delete(Directory.GetCurrentDirectory() + "\\Channels\\" + saveFile);
}
File.Create(Directory.GetCurrentDirectory() + "\\Channels\\" + saveFile).Close();
streamWriter = new StreamWriter(System.IO.Directory.GetCurrentDirectory() + "\\Channels\\" + saveFile);
//safe stuff to file
streamWriter.Close();
}
catch (Exception e)