我无法将文本写入文本文件
本文关键字:文本 文件 | 更新日期: 2023-09-27 18:19:09
可能的重复项:
该文件正被另一个进程使用,我必须关闭它?如何?
我不确定为什么会这样,但我无法将一些数据写入文本文件。我是这样做的:
private void CreateLastOpenFile()
{
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
if (!File.Exists(file))
{
FileStream newFile = File.Create(file);
newFile.Close();
}
using (StreamWriter lastOpenedFile = new StreamWriter(file))
{
lastOpenedFile.WriteLine(filePath);
}
}
我这样做是否正确?我应该检查目录是否存在吗?如果文件存在?正确的方法是什么?我正在使用MSDN中的示例,但我不确定如何做到这一点。
我宁愿这样做:
String p = Path.GetDirectoryName(fileName);
if (!Directory.Exists(p))
{
Directory.CreateDirectory(p);
}
FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
using (StreamWriter writer = new StreamWriter(stream))
{
...
writer.Flush();
}
如果文件不存在,这将创建一个新文件。
using
自动调用编写器上的Dispose
,而编写器又调用 Close
,这会关闭编写器和基础流。
你不需要
创建文件,StreamWriter会为你做。但是你需要确保目录存在,就像你一样。
您也可以使用 File.OpenText。