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

Метод os.File.Readdirnames

Метод os.File.Readdirnames читает содержимое директории и возвращает срез имен файлов (и поддиректорий) в виде строк. В качестве параметра метод принимает количество имен, которое нужно прочитать. Если передать -1, то будут прочитаны все имена из директории. Метод возвращает срез строк и ошибку. Если достигнут конец директории, возвращается ошибка io.EOF, а срез будет пустым.

Синтаксис

names, err := file.Readdirnames(n int)

Пример

Давайте прочитаем все имена файлов из текущей директории:

package main import ( "fmt" "io" "os" ) func main() { dir, err := os.Open(".") if err != nil { fmt.Println(err) return } defer dir.Close() names, err := dir.Readdirnames(-1) if err != nil && err != io.EOF { fmt.Println(err) return } fmt.Println(names) }

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

["file1.txt" "file2.go" "subdir" "main.go"]

Пример

Давайте прочитаем только первые три имени из директории:

package main import ( "fmt" "io" "os" ) func main() { dir, err := os.Open(".") if err != nil { fmt.Println(err) return } defer dir.Close() names, err := dir.Readdirnames(3) if err != nil && err != io.EOF { fmt.Println(err) return } fmt.Println(names) }

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

["file1.txt" "file2.go" "subdir"]

Пример

Метод возвращает только имена, без полной информации о файлах. Прочитаем имена из директории и выведем каждое имя отдельно:

package main import ( "fmt" "io" "os" ) func main() { dir, err := os.Open("./data") if err != nil { fmt.Println(err) return } defer dir.Close() names, err := dir.Readdirnames(-1) if err != nil && err != io.EOF { fmt.Println(err) return } for _, name := range names { fmt.Println("File:", name) } }

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

"File: config.yaml" "File: logs" "File: output.json"

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

  • метод os.File.Readdir,
    который возвращает информацию о файлах в директории
  • функцию os.ReadDir,
    которая читает директорию и возвращает срез DirEntry
  • функцию os.Open,
    которая открывает файл или директорию для чтения
  • функцию os.File.Close,
    которая закрывает открытый файл или директорию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить