通常の I/O 用に開いているファイルを削除するには?
ファイルを復号化したい。コードが正しくない場合は、出力ファイルを削除する必要があります。
File.Delete()
次の理由で使用できません。
Windows NT 4.0 プラットフォーム 注: 削除では、通常の I/O 用に開いているファイルやメモリ マップされているファイルは削除されません。
try
{
FileStream fsIn = new FileStream(fileIn, FileMode.Open, FileAccess.Read, FileShare.Delete);
FileStream fsOut = new FileStream(fileOut, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Delete);
PasswordDeriveBytes pdb = new PasswordDeriveBytes(Password, new byte[] {0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76});
Rijndael alg = Rijndael.Create();
alg.Key = pdb.GetBytes(32);
alg.IV = pdb.GetBytes(16);
CryptoStream cs = new CryptoStream(fsOut, alg.CreateDecryptor(), CryptoStreamMode.Write);
int bufferLen = 4096;
byte[] buffer = new byte[bufferLen];
int bytesRead;
do
{
bytesRead = fsIn.Read(buffer, 0, bufferLen);
cs.Write(buffer, 0, bytesRead);
} while (bytesRead != 0);
cs.Close();
fsIn.Close();
return true;
}
catch(Exception)
{
MessageBox.Show("Incorrect code :(");
return false;
}
出力ファイルを削除する方法を知っている人はいますか?