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

Функция os.Truncate

Функция os.Truncate изменяет размер файла на указанный. В первый параметр передается имя файла в виде строки, во второй параметр - новый размер файла в байтах (тип int64). Если файл существует и его размер больше указанного, он будет обрезан. Если размер меньше - файл будет расширен нулевыми байтами. Функция возвращает ошибку, если операция не может быть выполнена (например, файл не существует или недостаточно прав).

Синтаксис

err := os.Truncate(filename, size)

Пример

Давайте создадим файл и обрежем его до размера 10 байт:

package main import ( "fmt" "os" ) func main() { filename := "example.txt" data := []byte("This is a long string for testing truncation") err := os.WriteFile(filename, data, 0644) if err != nil { fmt.Println("Error writing file:", err) return } err = os.Truncate(filename, 10) if err != nil { fmt.Println("Error truncating file:", err) return } res, err := os.ReadFile(filename) if err != nil { fmt.Println("Error reading file:", err) return } fmt.Println(string(res)) }

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

"This is a "

Пример

А теперь расширим файл до размера 50 байт (добавится 40 нулевых байт):

package main import ( "fmt" "os" ) func main() { filename := "example.txt" data := []byte("Hello") err := os.WriteFile(filename, data, 0644) if err != nil { fmt.Println("Error writing file:", err) return } err = os.Truncate(filename, 50) if err != nil { fmt.Println("Error truncating file:", err) return } info, err := os.Stat(filename) if err != nil { fmt.Println("Error getting file info:", err) return } fmt.Println(info.Size()) }

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

50

Пример

Попробуем обрезать несуществующий файл:

package main import ( "fmt" "os" ) func main() { err := os.Truncate("nonexistent.txt", 100) if err != nil { fmt.Println(err) } }

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

"truncate nonexistent.txt: no such file or directory"

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

  • функцию os.Create,
    которая создает или перезаписывает файл
  • функцию os.WriteFile,
    которая записывает данные в файл
  • функцию os.ReadFile,
    которая читает содержимое файла
  • функцию os.Stat,
    которая возвращает информацию о файле
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить