在我的c#小控制台应用程序中,我必须写入一个文件,如果它不在那里,我必须创建它。当文件已经创建时,它可以正常工作,但当我尝试创建文件然后写入它时,我会得到一个System.IO.IOException,说该文件在其他地方使用。以下是我一直在使用的
if (!File.Exists(FilePath))
{
File.Create(FilePath);
}
FileInfo file = new FileInfo(FilePath);
using (TextWriter tw = new StreamWriter(file.Open(FileMode.Truncate)))
{
tw.Write(filePresent);
tw.Close();
}
File.Create
返回一个FileStream
,但您并没有关闭它。
老实说,您最好将所有此代码替换为:
File.WriteAllText(FilePath, filePresent);
这将在必要时创建一个文件,如果该文件已经存在,则截断该文件。它将在写入数据时关闭流。更简单。