我正在用 C# 制作控制台应用程序。我用一个Process.Start()函数打开一个文本文件,可以直接在记事本中编辑,程序等待记事本关闭。但是当试图保存文件时,会弹出一条警告消息,提示“文件正在被另一个进程使用”。由于我是初学者,我不知道如何解决这个问题。我知道FileAccess, FileMode,FileStream但我从未使用过它们,并且认为它们在这一点上没有帮助。这是 Main() 方法之前的构造函数public AccountApplication() { Process process = Process.Start("notepad.exe", textFilePath); process.WaitForExit(); }以及使用此构造函数的 Main() 方法的一部分 TextFileWriting: AccountApplication openFile; Console.Clear(); Console.ForegroundColor = ConsoleColor.Gray; Console.Write("Enter a file name: "); string filename = Console.ReadLine(); if (filename == "") { goto TextFileWriting; } textFilePath = Path.Combine(currentUserFolder, filename + ".txt"); if (File.Exists(textFilePath)) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("File You specified already has been created. Do you want to overwrite or edit it? (edit/overwrite)"); string userAnswer = Console.ReadLine(); if (userAnswer == "edit") { openFile = new AccountApplication(); goto MainMenu; } else if (userAnswer == "overwrite") { File.CreateText(textFilePath); openFile = new AccountApplication(); goto MainMenu; } else if (userAnswer == "") { goto TextFileWriting; } }记事本打开,程序正在等待它关闭。用户无法做的一件事是保存所做的更改。
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
下面的行为StreamWriter
您创建了一个:
File.CreateText(textFilePath);
它旨在像这样使用:
using (var writer = File.CreateText(textFilePath)) { writer.WriteLine("Hi!"); };
如果您不想向文件写入任何内容,请StreamWriter
立即关闭:
File.CreateText(textFilePath).Close();
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消