Как сохранить данные в файл

Обновлено: 07.07.2024

SaveFileDialogКомпонент позволяет пользователям просматривать файловую систему и выбирать файлы для сохранения. Диалоговое окно возвращает путь и имя файла, который пользователь выбрал в диалоговом окне. Тем не менее для фактического сохранения файла на диск необходимо написать специальный код.

Сохранение файла с помощью компонента SaveFileDialog

Выведите на экран диалоговое окно Сохранить файл и вызовите метод для сохранения файла, выбранного пользователем.

SaveFileDialog OpenFile Чтобы сохранить файл, используйте метод компонента. Этот метод предоставляет объект, который Stream можно записать в.

В приведенном ниже примере DialogResult свойство используется для получения имени файла, а OpenFile метод — для сохранения файла. OpenFileМетод предоставляет поток для записи файла.

В приведенном ниже примере имеется Button элемент управления с назначенным ему изображением. При нажатии кнопки создается SaveFileDialog экземпляр компонента с фильтром, который разрешает файлы типа .jpg, JPEG и .bmp. При выборе файла такого типа в диалоговом окне "Сохранить файл" изображение кнопки сохраняется.

Чтобы получить или задать FileName свойство, сборке требуется уровень привилегий, предоставляемый System.Security.Permissions.FileIOPermission классом. Если процесс выполняется в контексте с частичным доверием, он может сгенерировать исключение из-за недостатка привилегий. Дополнительные сведения см. в разделе Code Access Security Basics.

В примере предполагается, что в форме есть Button элемент управления, Image свойство которого установлено в файл типа .jpg, jpeg или .bmp.

FileDialog FilterIndex Свойство класса (из-за наследования является частью SaveFileDialog класса) использует индекс, отсчитываемый от единицы. Это важно при написании кода для сохранения данных в определенном формате (например, в формате обычного текста или двоичном формате). Это свойство представлено в следующем примере.

Дополнительные сведения о записи файловых потоков см. в статьях BeginWrite и Write .

Некоторые элементы управления, такие как RichTextBox элемент управления, имеют возможность сохранять файлы.

Здесь мы рассмотрим некоторые возможности powershell при сохранении данных в файл. Этот функционал применяется практически всегда, когда речь заходит о больших выгрузках, о результатах работы каких-либо автоматизаций. Банальным примером будет настройка логирования выполнения скрипта в планировщике задач.

Экспорт данных в файл. Add-Content, Set-Content

Исходя из названия команд, не сложно догадаться, как они работают. Командлет Add-Content выполняет добавление информации в указанный файл. В то время как Set-Content выполняет полную перезапись файла теми данными, которые он получил на вход.

Синтаксис группы этих команд идентичен друг другу и достаточно прост. Чтобы получить содержимое файла, необходимо просто указать путь к файлу в параметре -Path:

Так как командлет по умолчанию ожидает получение параметра -Path, его имя можно опустить: “Set-Content D:\processes.txt “.

Так же здесь работает принцип конвейеризации – "Hello World!" | Add-Content C:\Test.txt или Set-Content C:\Test.txt -Value "Hello World!" по принципу действия будут похожи. За тем исключением, что в первом случае данные передаются по конвейеру, а во втором указаны явно в параметре -Value.

Out-File

Out-File – пожалуй основной способ сохранения текстовых данных на жесткий диск. Этот командлет является более универсальной альтернативой командам Add-Content и Set-Content. Этот командлет выводит в файл данные в том виде, в котором они поступают ему на вход. По этой причине его довольно часто используют в связке с командами, предварительно конвертирующими вывод в необходимый формат. Примером таких команд могут служить команды ConvertTo-Csv, ConvertTo-Html, ConvertTo-Json, ConvertTo-Xml. О том как получить справку по командам, можно узнать здесь .

Get-Volume | ConvertTo-Html | Out-File C:\ProcessList.html

В этом примере перед сохранением в файл данные конвертируются в HTML код. И Вы можете сохранить их в HTML документ. При этом возможно вносить элементы форматирования страницы, используя CSS. Если есть необходимость просто сохранить данные на диск в первозданном виде, тогда необходимо просто использовать командлет Out-File.

Некоторые полезные параметры:

  • -Force – выполнение с этим ключом приведет к перезаписи файла в случае его существования на момент выполнения команды;
  • -Append – если файл уже существует, то выполнение с этим ключом не перезапишет весь файл. А данные будут добавлены в конец файла. Отличный способ для настройки логирования. В сочетании с параметром -Force данные будут добавлены в файл даже при установленном флаге – только чтение;
  • -Encoding – позволяет определять кодировку для данных перед их записью в файл;
  • -NoClobber – при указании этого параметра, если файл уже существует с таким именем, он не будет перезаписан.

Export-Csv

Этот вид экспорта наиболее подходит и чаще всего применяется для формирования табличных выгрузок или отчетов. В параметрах этого командлета есть возможность указать, какой символ будет служить разделителем. Для демонстрации выгрузим все виртуальные машины на хосте виртуализации в файл .csv. Подробнее ►

Читайте также: