在 Go 语言中,您可以借助Truncate()函数来截断文件的大小。此函数用于将给定文件的大小截断为指定大小。
- 如果给定文件是符号链接,则它会更改链接目标的大小。
- 如果此方法抛出错误,则它将是 *PathError 类型。
- 它是在 os 包下定义的,因此您必须在程序中导入 os 包才能访问 Truncate()函数。
- 假设如果截断文件为 100 字节且原始文件小于 100 字节,则原始内容保留在开头,剩余空间用空字节填充。如果原始文件大于 100 字节,则截断后的文件在 100 字节后丢失内容。
- 如果您在 Truncate()函数传递 0,那么您将获得一个空文件。
句法:
func Truncate(name string, size int64) error
示例 1:
// Golang program to illustrate how to
// truncate the size of the given file
package main
import (
"log"
"os"
)
var (
myfile *os.FileInfo
e error
)
func main() {
// Truncate the size of the
// given file to 200 bytes
// Using Truncate() function
err := os.Truncate("gfg.txt", 200)
if err != nil {
log.Fatal(err)
}
}
输出:
前:
后:
示例 2:
// Golang program to illustrate how to
// truncate the size of the given file
package main
import (
"log"
"os"
)
var (
myfile *os.FileInfo
e error
)
func main() {
// Truncate the size of the given
// file to 0 bytes or empty file
// Using Truncate() function
err := os.Truncate("gfg.txt",0)
if err != nil {
log.Fatal(err)
}
}
输出:
前:
后:
示例 3:
// Golang program to illustrate how to
// truncate the size of the given file
package main
import (
"log"
"os"
)
var (
myfile *os.FileInfo
e error
)
func main() {
// Truncate the size of the
// given file to 300 bytes
// Using Truncate() function
err := os.Truncate("/Users/anki/Documents/new_folder/bingo.txt", 300)
if err != nil {
log.Fatal(err)
}
}
输出:
前:
后: