我希望使用此方法明确文本文件
private void writeTextFile(string filePath, string text)
{
if (!File.Exists(filePath))
{
File.Create(filePath).Close();
}
using (StreamWriter tw = new StreamWriter(filePath))
{
File.WriteAllText(filePath,"");
tw.WriteLine(text);
tw.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误
The process cannot access the file because it is being used by another process.
Run Code Online (Sandbox Code Playgroud)
但这不能在任何地方打开,
请帮我谢谢
Cod*_*man 13
那是因为你正在创建一个StreamWriter,然后使用File.WriteAllText.您的文件已被使用StreamWriter.
File.WriteAllText就是这样,将传递给它的整个字符串写入文件. StreamWriter如果你打算使用它是不必要的File.WriterAllText.
如果您不关心覆盖现有文件,可以执行以下操作:
private void writeTextFile(string filePath, string text)
{
File.WriteAllText(filePath, text);
}
Run Code Online (Sandbox Code Playgroud)
如果你想使用StreamWriter(顺便File.WriteAllText使用,它只是隐藏它),并附加到文件,你可以这样做(从这个答案):
using(StreamWriter sw = File.AppendText(path))
{
tw.WriteLine(text);
}
Run Code Online (Sandbox Code Playgroud)