Функция os.Open
Функция os.Open открывает файл для чтения.
В качестве единственного параметра она принимает путь к файлу
в виде строки. При успешном открытии функция возвращает
указатель на os.File и nil в качестве ошибки.
Если файл не найден или нет прав доступа, возвращается
ошибка типа *fs.PathError.
Синтаксис
func Open(name string) (*os.File, error)
Пример
Откроем файл "example.txt" для чтения и выведем его имя:
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
fmt.Println(file.Name())
}
Результат выполнения кода:
"example.txt"
Пример
Попробуем открыть несуществующий файл и обработаем ошибку:
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("missing.txt")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
defer file.Close()
fmt.Println("File opened successfully")
}
Результат выполнения кода:
"Error: open missing.txt: no such file or directory"
Пример
Прочитаем содержимое открытого файла с использованием os.File
и выведем его в консоль:
package main
import (
"fmt"
"io"
"os"
)
func main() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
data, err := io.ReadAll(file)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("File content: %s\n", string(data))
}
Результат выполнения кода (если файл содержит текст "Hello, World!"):
"File content: Hello, World!"
Смотрите также
-
функцию
os.OpenFile,
которая открывает файл с дополнительными флагами и правами доступа -
функцию
os.Create,
которая создает новый файл или обрезает существующий для записи -
функцию
os.ReadFile,
которая читает весь файл и возвращает содержимое в виде среза байт -
метод
os.File.Close,
который закрывает файл и освобождает связанные с ним ресурсы