Go
Файловый ввод-вывод
Поиск…
Синтаксис
- 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