Метод os.File.Name
Метод Name у объекта типа *os.File возвращает строку с именем файла,
который был передан при открытии. Обычно это имя совпадает с тем, которое
указывалось в вызове os.Open, os.Create или подобных функций.
Метод не выполняет обращений к файловой системе и не гарантирует,
что файл с таким именем всё ещё существует.
Синтаксис
file.Name() string
Метод не принимает параметров и возвращает строку с именем файла в том виде, в котором оно было задано при открытии.
Пример
Получим имя файла, открытого с помощью os.Open:
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("Error:", err)
return
}
defer file.Close()
name := file.Name()
fmt.Println(name)
}
Результат выполнения кода:
"example.txt"
Пример
Если файл был создан с помощью os.Create,
то метод Name вернёт переданное имя:
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Create("newfile.txt")
if err != nil {
fmt.Println("Error:", err)
return
}
defer file.Close()
name := file.Name()
fmt.Println(name)
}
Результат выполнения кода:
"newfile.txt"
Пример
Метод Name также работает с временными файлами,
возвращая их полное имя:
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.CreateTemp("", "temp_*.txt")
if err != nil {
fmt.Println("Error:", err)
return
}
defer file.Close()
name := file.Name()
fmt.Println(name)
}
Результат выполнения кода (имя будет отличаться в зависимости от системы):
"/tmp/temp_1234567890.txt"
Смотрите также
-
метод
os.File.Stat,
который возвращает информацию о файле -
функцию
os.Open,
которая открывает файл для чтения -
функцию
os.Create,
которая создаёт новый файл -
функцию
os.Getwd,
которая возвращает текущую рабочую директорию