在我的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();
}
答案 0 :(得分:7)
File.Create
会返回FileStream
- 但您不会关闭它。
说实话,你最好只用以下代码替换所有代码:
File.WriteAllText(FilePath, filePresent);
如果需要,将创建一个文件,如果已存在则截断它。它会在写入数据时关闭流。全面简化。