I check to see if a file exists with
if(!File.Exists(myPath))
{
File.Create(myPath);
}
However, when I go to create a StreamReader with this newly created file, I get an error saying that
The process cannot access the file ‘[my file path here]’ because it is being used by another process.
There isn’t a File.Close(myPath) that I can call so that it is closed after being created, so how do I free this resource so that I can open it later in my program?
File.Create(string)returns an instance of theFileStreamclass. You can call theStream.Close()method on this object in order to close it and release resources that it’s using:However, since
FileStreamimplementsIDisposable, you can take advantage of theusingstatement (generally the preferred way of handling a situation like this). This will ensure that the stream is closed and disposed of properly when you’re done with it: