Поиск…


Синтаксис

  • file, err: = os.Open ( name ) // Открывает файл в режиме только для чтения. Ошибка не-nil возвращается, если файл не может быть открыт.
  • file, err: = os.Create ( name ) // Создает или открывает файл, если он уже существует в режиме только для записи. Файл будет перезаписан, если он уже существует. Ошибка не-nil возвращается, если файл не может быть открыт.
  • file, err: = os.OpenFile ( имя , флаги , perm ) // Открывает файл в режиме, указанном флажками. Ошибка не-nil возвращается, если файл не может быть открыт.
  • data, err: = ioutil.ReadFile ( name ) // Читает весь файл и возвращает его. Ошибка, отличная от нуля, возвращается, если весь файл не может быть прочитан.
  • err: = ioutil.WriteFile ( имя , данные , perm ) // Создает или перезаписывает файл с предоставленными данными и битами разрешения UNIX. Ошибка, отличная от нуля, возвращается, если файл не был записан.
  • err: = os.Remove ( name ) // Удаляет файл. Если файл не может быть удален, возвращается ошибка, отличная от нуля.
  • err: = os.RemoveAll ( name ) // Удаляет иерархию файлов или целых каталогов. Возвращается ошибка, отличная от нуля, если файл или каталог не могут быть удалены.
  • err: = os.Rename ( oldName , newName ) // Переименовывает или перемещает файл (может быть через каталоги). Если файл не может быть перемещен, возвращается ошибка, отличная от нуля.

параметры

параметр подробности
название Имя файла или путь к строке типа. Например: "hello.txt" .
заблуждаться error . Если nil , это означает ошибку, возникшую при вызове функции.
файл Обработчик файла типа *os.File возвращаемый связанными с os пакетом файлами. Он реализует io.ReadWriter , что означает, что вы можете вызвать Read(data) и Write(data) на нем. Обратите внимание, что эти функции могут не вызываться в зависимости от открытых флагов файла.
данные Кусочек байтов ( []byte ), представляющий необработанные данные файла.
химическая завивка Биты разрешений UNIX, используемые для открытия файла с типом os.FileMode . Доступны несколько констант, чтобы помочь с использованием бит разрешения.
флаг Открывать флаги файлов, которые определяют методы, которые можно вызвать в обработчике файла типа int . Несколько констант доступны, чтобы помочь с использованием флагов. Это: os.O_RDONLY , os.O_WRONLY , os.O_RDWR , os.O_APPEND , os.O_CREATE , os.O_EXCL , os.O_SYNC и os.O_TRUNC .

Чтение и запись в файл с помощью ioutil

Простая программа, которая пишет «Привет, мир!». to test.txt , считывает данные и распечатывает их. Демонстрирует простые операции ввода-вывода файлов.

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    hello := []byte("Hello, world!")

    // Write `Hello, world!` to test.txt that can read/written by user and read by others 
    err := ioutil.WriteFile("test.txt", hello, 0644)
    if err != nil {
        panic(err)
    }

    // Read test.txt
    data, err := ioutil.ReadFile("test.txt")
    if err != nil {
        panic(err)
    }

    // Should output: `The file contains: Hello, world!`
    fmt.Println("The file contains: " + string(data))
}

Список всех файлов и папок в текущем каталоге

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    files, err := ioutil.ReadDir(".")
    if err != nil {
        panic(err)
    }

    fmt.Println("Files and folders in the current directory:")

    for _, fileInfo := range files {
        fmt.Println(fileInfo.Name())
    }
}

Список всех папок в текущем каталоге

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    files, err := ioutil.ReadDir(".")
    if err != nil {
        panic(err)
    }

    fmt.Println("Folders in the current directory:")

    for _, fileInfo := range files {
        if fileInfo.IsDir() {
            fmt.Println(fileInfo.Name())
        }
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow