StreamWriter не может быть утилизирован - PullRequest
1 голос
/ 11 января 2020

Я просто создаю класс с именем WriteLog, этот класс содержит следующие методы:

    <!-- language: c# -->
    //First Version:
    public void Add(string location, string words)
    {
        StreamWriter sw = new StreamWriter(location);
        sw.WriteLine(words);
        sw.Close()
    }
    //Using Version:
    public void Add(string location, string words)
    {
        using (StreamWriter sw = File.AppendText(location))
        {
            sw.WriteLine(words);
        }
    }
    //My file path:
    string test = Path.GetDirectoryName(path) + "\\" + DateTime.Now.ToString("yyyyMMddHHmmssff") + ".json";
    //Where the Exception throwed:
    WriteLog.Add(ltn, time);  
    //Code..  
    File.Delete(ltn);  

Но возникла проблема, когда я назвал его следующим образом:
он выбросил IOException:
Этот файл используется другим процессом и не может быть доступен для этого процесса.
Даже использование не может решить проблему.
Я подтвердил, что:
1. Я закомментирую этот код (WriteLog.Add), и исключение не было выброшено снова.
2.Мой путь к файлу в порядке, и мое приложение может получить доступ к этому пути.
3.Нет внутренних исключений.
Я также пытался закрыть, удалить и гриппа sh и даже пытался использовать их одновременно, но это не работает.
У кого есть решение?

PS: я китаец, поэтому моя грамматика, вероятно, не в порядке. Извините.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...