Я пытаюсь сжать файлы с помощью GZIP, и мое приложение контролирует папку для новых файлов. Когда появляется новый файл, он должен быть сжат, а затем приложение должно продолжать делать это каждый раз, когда новый файл входит в папку.C# file compress with .gzip
private void Compress(string filePath)
{
using (FileStream inputStream = new FileStream(filePath,FileMode.OpenOrCreate,FileAccess.ReadWrite))
{
using (FileStream outputStream = new FileStream(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), @"C:\\Users\\maki\\Desktop\\Input"), FileMode.OpenOrCreate, FileAccess.ReadWrite))//'System.UnauthorizedAccessException'
{
using (GZipStream gzip = new GZipStream(outputStream, CompressionMode.Compress))
{
inputStream.CopyTo(gzip);
}
}
}
}
, когда я запустить приложение, я получаю это исключение:
An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll
Дополнительная информация:
Access to the path 'C:\Users\maki\Desktop\Input' is denied.
Я искал много в Интернете, но не может найти правильный ответ.
Может ли кто-нибудь помочь мне с вопросом?
Учитывая, что ошибка возникает, прежде чем что-либо делать с gzip, кажется маловероятным, что это * связано * с gzip. В принципе, это вопрос неспособности писать на определенный путь ... и я подозреваю, что это потому, что способ, которым вы строите путь, нарушен. –
Я думаю, что я бы назначил этот оператор Path.Combine на строковое значение, а затем проверил это в отладчике, чтобы убедиться, что вы работаете с допустимым путем. –