Я использую C # для создания графического интерфейса, который имеет функцию ведения журнала.Когда я создаю файл журнала, я предоставляю ему имя файла.Но у меня есть следующая проблема.Например, если файл уже открыт в фоновом режиме на моем рабочем столе, и я хочу назвать свое имя файла таким же, я получаю сообщение об исключении следующим образом:
The process cannot access the file 'C:\blah\blah\mytest.csv' because it is being used by another process.
Я использую следующий фрагменткод для проверки, существует ли файл, и использование потокового редактора для создания нового файла.
if (FileUtils.Exists(fileName))
{
if (!FileUtils.Delete(fileName))
{
cout<< Error replacing log file, it might be used by another process";
}
}
//Exception handling
public static bool Delete(string myfiletowrite)
{
try
{
File.Delete(myfiletowrite);
return true;
}
catch (IOException)
{
return false;
}
}
myfile= new StreamWriter(myfiletowrite, true); //exception occurs here when I try to write to myfiletowrite which is currently open
Я не уверен, как закрыть этот файл, который открыт в фоновом режиме, чтобы я мог записать в этот файл.Буду признателен, если кто-нибудь сможет мне помочь с этим.