Rumah > pembangunan bahagian belakang > Golang > Cara memadam kandungan fail menggunakan bahasa Go

Cara memadam kandungan fail menggunakan bahasa Go

王林
Lepaskan: 2024-04-03 17:48:02
asal
960 orang telah melayarinya

Terdapat dua cara untuk memadamkan kandungan fail menggunakan bahasa Go: gunakan fungsi ioutil.WriteFile untuk memadam semua kandungan. Gunakan bufio.Scanner untuk lelaran melalui fail, menapis dan menulis semula baris tertentu.

Cara memadam kandungan fail menggunakan bahasa Go

Padam kandungan fail menggunakan bahasa Go

Memadam kandungan fail sangat berguna dalam pelbagai senario, seperti membersihkan fail log atau memproses data sementara. Artikel ini akan membimbing anda tentang cara menggunakan bahasa Go untuk melaksanakan fungsi pemadaman kandungan fail.

Padam keseluruhan kandungan fail

Untuk memadam keseluruhan kandungan fail, anda boleh menggunakan fungsi ioutil.WriteFile dan tetapkan kandungannya kepada rentetan kosong: ioutil.WriteFile 函数,将其内容设置为一个空字符串:

package main

import (
    "io/ioutil"
    "fmt"
)

func main() {
    err := ioutil.WriteFile("file.txt", []byte(""), 0644)
    if err != nil {
        fmt.Println(err)
    }
}
Salin selepas log masuk

删除文件特定行

要删除文件中特定行,可以使用 bufio 包的 Scanner

package main

import (
    "os"
    "bufio"
    "fmt"
)

func main() {
    file, err := os.OpenFile("file.txt", os.O_RDWR, 0644)
    if err != nil {
        fmt.Println(err)
        return
    }

    lines := []string{}
    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
        if scanner.Text() != "Line to be deleted" {
            lines = append(lines, scanner.Text())
        }
    }

    file.Truncate(0)
    file.Seek(0, 0)
    for _, line := range lines {
        _, err = file.WriteString(line + "\n")
        if err != nil {
            fmt.Println(err)
        }
    }
}
Salin selepas log masuk

Padamkan baris tertentu fail

Untuk memadamkan baris tertentu dalam fail, anda boleh menggunakan Pengimbas pakej bufio Jenis:

[INFO] Starting the application
[ERROR] An error occurred
[INFO] Application terminated
Salin selepas log masuk

Kes praktikal

🎜🎜Andaikan anda mempunyai log yang mengandungi kandungan berikut Fail: 🎜
package main

import (
    "os"
    "bufio"
    "fmt"
)

func main() {
    file, err := os.OpenFile("logfile.txt", os.O_RDWR, 0644)
    if err != nil {
        fmt.Println(err)
        return
    }

    lines := []string{}
    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
        if !strings.Contains(scanner.Text(), "[ERROR]") {
            lines = append(lines, scanner.Text())
        }
    }

    file.Truncate(0)
    file.Seek(0, 0)
    for _, line := range lines {
        _, err = file.WriteString(line + "\n")
        if err != nil {
            fmt.Println(err)
        }
    }
}
Salin selepas log masuk
🎜 Jika anda hanya mahu menyimpan log maklumat, anda boleh menggunakan kod berikut untuk memadam log ralat: 🎜rrreee

Atas ialah kandungan terperinci Cara memadam kandungan fail menggunakan bahasa Go. 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
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan