Ich versuche .pgp
Dateien von einem Speicherort zu entschlüsseln und dann diese Dateien an einen anderen Speicherort verschieben. Ich schaute in diese article und Code entsprechend. In meinem Code entwickle ich eine Anwendung, die alle 100 Sekunden nach einem bestimmten Ort sucht und wenn es Dateien gibt, wird sie entschlüsselt und verschoben. aber ich bekomme diese Ausnahme The process cannot access the file 'c:\file.pgp' because it is being used by another process.
entschlüsseln pgp-Dateien aus einem Ordner und verschieben es - C#
Hier ist mein Code, wo ich diese Klasse anrufe, die ich von diesem Artikel kopiert habe.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
//Do the stuff you want to be done every hour;
string sourcePath = @"files location";
string archivePath = @"move original file after decrypting location";
string targetPath = @"decrypted file location";
string pubkeyPath = @"public key location\PGPPublicKey.txt";
string privkeyPath = @"private key location\PGPPrivateKey.txt";
string fileName = "";
string destFile = "";
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);
// Copy the files and overwrite destination files if they already exist.
foreach (string s in files)
{
PGPDecrypt test = new PGPDecrypt(s,
privkeyPath,
"password",
targetPath + "decrypted.txt",
pubkeyPath);
FileStream fs = File.Open(s, FileMode.Open);
test.decrypt(fs, targetPath + "decrypted.txt");
// Use static Path methods to extract only the file name from the path.
fileName = System.IO.Path.GetFileName(s);
destFile = System.IO.Path.Combine(archivePath, fileName);
System.IO.File.Move(s, archivePath);
}
}
}
Ich erhalte die Ausnahme auf dieser Linie 'Filestream fs = File.Open (s, FileMode.Open) Zugabe;' ' –