Как я могу скопировать файл из ресурсов программы в определенное место?

#c# #zip

#c# #zip

Вопрос:

Сначала я попробовал этот код:

 File.Copy(Properties.Resources.files,"c:/files.zip");
 

Но я получаю эту ошибку:

Аргумент 1: невозможно преобразовать из ‘byte[]’ в ‘string’

После этого я попытался добавить в конце первого аргумента:

.toString()

Но он выдает это исключение:

System.IO.FileNotFoundException: «Не удалось найти файл»System.Байт []’.’

Ответ №1:

Как показывает ошибка компилятора, которую вы получаете, ресурс, на который ссылается, Properties.Resources.files содержит массив байтов. Чтобы записать массив байтов в файл, используйте File .WriteAllBytes.

 File.WriteAllBytes(@"C:files.zip", Properties.Resources.files);
 

Ответ №2:

File.Copy принимает две строки для аргументов. Properties.Resources.files это массив байтов. Вам нужно передать путь к файлу, который вы хотите скопировать.

Комментарии:

1. Вам не нужно передавать абсолютный путь.

2. Голосование по понижению. Вопрос касается «копирования» файла из ресурсов программы в файл. Приведенный здесь ответ подразумевает, что пользователь хочет скопировать один файл в другой файл, что не является намерением.