Существует еще один параметр, в котором вы можете указать, разрешить ли другому процессу чтение или запись в файл.
openFile
- это строка, представляющая имя файла.
using (FileStream fileIn = new FileStream(openFile, FileMode.Open, FileAccess.Read, FileShare.Write))
using (FileStream fileOut = new FileStream(openFile, FileMode.Open, FileAccess.Write, FileShare.Open))
Таким образом, вы можете читать и писать в один и тот же файл.
while (myfileStream.Position < fileLength)
{
fileIn.Read(buffer, 0, 51200);
buffer = encrypt(buffer);
fileOut.Write(buffer, 0, 51200);
}
Хотя это легко и вам не нужно записывать во временный файл или перемещать / переименовывать и т. Д., Этоможет быть очень опасным, потому что если по какой-то причине шифрование внезапно прекратится, вы потеряете данные!
Кроме того, функцию encrypt
я реализовал.AesCryptoServiceProvider
вместе с CryptoStream
можно использовать:)