Amalan bahasa Go: beberapa kaedah untuk mengosongkan kandungan fail

PHPz
Lepaskan: 2024-04-03 21:48:02
asal
800 orang telah melayarinya

Terdapat beberapa cara untuk mengosongkan kandungan fail dalam bahasa Go: gunakan fungsi ioutil.Truncate untuk memotong fail. Gunakan fungsi os.Truncate untuk mengendalikan deskriptor fail secara terus. Gunakan panggilan sistem ftruncate untuk memotong fail secara terus.

Amalan bahasa Go: beberapa kaedah untuk mengosongkan kandungan fail

Amalan bahasa Go: beberapa cara untuk mengosongkan kandungan fail

Mengosongkan kandungan fail ialah operasi biasa dalam bahasa Go dan terdapat beberapa kaedah untuk mencapainya.

Gunakan fungsi 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.")
}
Salin selepas log masuk

使用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.")
}
Salin selepas log masuk

使用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.")
}
Salin selepas log masuk

实战案例

在以下实战案例中,我们使用ioutil.Truncate

🎜ioutil.Truncate fungsi untuk memotong fail kepada saiz yang ditentukan. Jika saiz yang ditentukan ialah 0, fail akan dikosongkan. 🎜
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.")
    }
}
Salin selepas log masuk
🎜🎜Gunakan fungsi os.Truncate 🎜🎜🎜Fungsi os.Truncate adalah serupa dengan ioutil.Truncate, tetapi ia beroperasi secara langsung pada deskriptor fail. 🎜rrreee🎜🎜Gunakan panggilan sistem ftruncate 🎜🎜🎜ftruncate untuk memangkas fail secara terus. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Dalam kes praktikal berikut, kami menggunakan fungsi ioutil.Truncate untuk mengosongkan fail: 🎜rrreee

Atas ialah kandungan terperinci Amalan bahasa Go: beberapa kaedah untuk mengosongkan kandungan fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan