Maison > Article > développement back-end > Go pratique du langage : plusieurs méthodes pour effacer le contenu d'un fichier
Il existe plusieurs façons d'effacer le contenu d'un fichier en langage Go : utilisez la fonction ioutil.Truncate pour tronquer le fichier. Utilisez la fonction os.Truncate pour exploiter directement le descripteur de fichier. Utilisez l'appel système ftruncate pour tronquer le fichier directement.
Pratique du langage Go : plusieurs façons d'effacer le contenu d'un fichier
Effacer le contenu d'un fichier est une opération courante dans le langage Go, et il existe plusieurs méthodes pour y parvenir.
Utilisez la fonction ioutil.Truncate
ioutil.Truncate
函数
ioutil.Truncate
函数截断文件到指定大小。如果指定大小为0,则清空文件。
package main import ( "fmt" "io/ioutil" "os" ) func main() { f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } err = ioutil.Truncate("test.txt", 0) if err != nil { fmt.Println(err) return } fmt.Println("File emptied successfully.") }
使用os.Truncate
函数
os.Truncate
函数与ioutil.Truncate
类似,但它直接操作文件描述符。
package main import ( "fmt" "os" ) func main() { f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } err = os.Truncate("test.txt", 0) if err != nil { fmt.Println(err) return } fmt.Println("File emptied successfully.") }
使用ftruncate
系统调用
ftruncate
系统调用直接截断文件。
package main import ( "fmt" "os" "syscall" ) func main() { f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } err = syscall.Ftruncate(int(f.Fd()), 0) if err != nil { fmt.Println(err) return } fmt.Println("File emptied successfully.") }
实战案例
在以下实战案例中,我们使用ioutil.Truncate
ioutil.Truncate
pour tronquer le fichier à la taille spécifiée. Si la taille spécifiée est 0, le fichier est effacé. 🎜package main import ( "fmt" "io/ioutil" "os" ) func main() { // 打开一个现有文件 f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } // 使用 ioutil.Truncate 清空文件 err = ioutil.Truncate("test.txt", 0) if err != nil { fmt.Println(err) return } // 检查文件是否已清空 fi, err := f.Stat() if err != nil { fmt.Println(err) return } if fi.Size() == 0 { fmt.Println("File emptied successfully.") } else { fmt.Println("File not emptied.") } }🎜🎜Utilisez la fonction
os.Truncate
🎜🎜🎜La fonction os.Truncate
est similaire à ioutil.Truncate
, mais elle opère directement sur le descripteur de fichier. 🎜rrreee🎜🎜Utilisez l'appel système ftruncate
🎜🎜🎜Appel système ftruncate
pour tronquer le fichier directement. 🎜rrreee🎜🎜Cas pratique🎜🎜🎜Dans le cas pratique suivant, on utilise la fonction ioutil.Truncate
pour effacer un fichier : 🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!