File.ReadAllText和File.WriteAllText之后

时间:2014-04-08 09:08:36

标签: c# file

我的问题是,当我运行此代码时,它告诉我“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);

1 个答案:

答案 0 :(得分:0)

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

有关详细信息,请参阅FileShare枚举。