File.ReadAllText and after File.WriteAllText



我的问题是,当我运行这段代码时,它会告诉我"File.WriteAllText"行procedure.pas正在被另一个程序使用。

script = File.ReadAllText(Application.StartupPath + "\Procedure.pas");
decryptedstring = Crypter.Decrypt(script, sSecretKey);
decryptedstring = decryptedstring.Replace("_" + Firma + "_", "_" + txtFirma.Text + "_");
decryptedstring = decryptedstring.Replace("_" + DonemNo + "_", "_" + txtDonemNo.Text + "_");
decryptedstring = decryptedstring.Replace("FIRMNR=" + Firma + " ", "FIRMNR=" + txtFirma.Text + " ");
encryptedstring = Crypter.Encrypt(decryptedstring, sSecretKey);
File.WriteAllText(Application.StartupPath + "\Procedure.pas", encryptedstring);

您正在写入的文件可能是使用共享锁打开的,该锁允许其他进程读取数据,但不允许写入。因此,当您打开文件进行写入时,尽管该文件一直由另一个进程打开,但它会失败并出现异常。

有关此内容的详细信息,请参阅文件共享枚举。

相关内容

  • 没有找到相关文章

最新更新