РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1338 of 1593 menu

Тип zip.File

Тип zip.File представляет отдельный файл внутри ZIP-архива. Он содержит информацию о файле: его имя, размер, дату модификации, сжатый размер и метод сжатия. Основной метод типа — Open, который возвращает io.ReadCloser для чтения содержимого файла. Для доступа к файлам архива используется поле FileHeader, которое содержит метаданные файла.

Синтаксис

Поле FileHeader содержит информацию о файле. Метод Open открывает файл для чтения.

type File struct { FileHeader // содержит другие скрытые поля } func (f *File) Open() (io.ReadCloser, error)

Пример

Давайте прочитаем содержимое файла из ZIP-архива и выведем его в консоль:

package main import ( "archive/zip" "fmt" "io" "log" "os" ) func main() { // Открываем ZIP-архив для чтения r, err := zip.OpenReader("archive.zip") if err != nil { log.Fatal(err) } defer r.Close() // Перебираем все файлы в архиве for _, f := range r.File { // Открываем файл для чтения rc, err := f.Open() if err != nil { log.Fatal(err) } defer rc.Close() // Читаем содержимое файла data, err := io.ReadAll(rc) if err != nil { log.Fatal(err) } fmt.Printf("Файл: %s, размер: %d байт\n", f.Name, len(data)) } }

Результат выполнения кода:

"Файл: file1.txt, размер: 12 байт" "Файл: file2.txt, размер: 24 байт"

Пример

Давайте получим информацию о файлах в архиве и выведем их метаданные:

package main import ( "archive/zip" "fmt" "log" ) func main() { // Открываем ZIP-архив для чтения r, err := zip.OpenReader("archive.zip") if err != nil { log.Fatal(err) } defer r.Close() // Выводим информацию о каждом файле for _, f := range r.File { fmt.Printf("Имя: %s\n", f.Name) fmt.Printf("Размер: %d байт\n", f.UncompressedSize64) fmt.Printf("Сжатый размер: %d байт\n", f.CompressedSize64) fmt.Printf("Метод сжатия: %s\n", f.Method) fmt.Println("---") } }

Результат выполнения кода:

"Имя: document.txt" "Размер: 1024 байт" "Сжатый размер: 512 байт" "Метод сжатия: 8" "---" "Имя: image.png" "Размер: 2048 байт" "Сжатый размер: 2048 байт" "Метод сжатия: 0" "---"

Смотрите также

  • тип zip.Reader,
    который предоставляет доступ к файлам ZIP-архива
  • тип zip.Writer,
    который используется для создания ZIP-архивов
  • функцию zip.OpenReader,
    которая открывает ZIP-архив для чтения
  • тип zip.FileHeader,
    который содержит метаданные файла в архиве
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить