Lesen/Schreiben von/in eine Datei in Go

Jay Singh 30 Januar 2023
  1. Schreiben in eine Datei mit WriteString in Go
  2. Lesen/Schreiben von/in eine Datei mit io/ioutil in Go
Lesen/Schreiben von/in eine Datei in Go

Daten können in einer Datei gespeichert werden, was ihnen eine Struktur gibt und je nach Speichermedium eine dauerhafte oder vorübergehende Aufbewahrung ermöglicht.

Das programmgesteuerte Arbeiten mit einer Datei umfasst das Abrufen von Metadaten, das Erstellen neuer Dateien sowie das Lesen und Schreiben von Daten in und aus einem Dateiformat in die interne Datenstruktur eines Programms.

Die integrierte Bibliothek von Go bietet hervorragende Unterstützung für dateibezogene Aktivitäten wie das Erstellen, Lesen/Schreiben, Umbenennen, Verschieben und Kopieren einer Datei und das Sammeln ihrer Metadateninformationen, unter anderem.

Dieses Tutorial zeigt, wie man in Go aus einer Datei liest/schreibt.

Schreiben in eine Datei mit WriteString in Go

In diesem Beispiel umfasst die Dateischreibaktion das Schreiben einer Zeichenfolge in eine Datei. Dies ist ein einfaches Verfahren.

Der folgende Code generiert eine Datei namens file.txt im Verzeichnis des Programms. Dann erscheint der Text Hello, How are you? finden Sie in der Datei, nachdem Sie sie mit einem beliebigen Texteditor geöffnet haben.

Schauen wir uns den Quellcode unten an.

package main

import (
    "fmt"
    "os"
)

func main() {
    f, err := os.Create("file.txt")
    if err != nil {
    fmt.Println(err)
        return
    }
    l, err := f.WriteString("Hello, How are you?")
    if err != nil {
        fmt.Println(err)
        f.Close()
        return
    }
    fmt.Println(l, "bytes written successfully")
    err = f.Close()
    if err != nil {
        fmt.Println(err)
        return
    }
}

Ausgabe:

19 bytes written successfully

Lesen/Schreiben von/in eine Datei mit io/ioutil in Go

Die Methode WriteString schreibt in eine Datei, während die Funktion ReadFile Inhalte aus einer Textdatei im Programm darunter liest. Wenn file.txt nicht existiert, erstellt die Anwendung sie oder kürzt sie, falls doch.

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "os"
)

func CreateFile() {
    file, err := os.Create("file.txt")
    if err != nil {
        log.Fatalf("failed creating file: %s", err)
    }
    defer file.Close()

    len, err := file.WriteString("Hello, How are you?.")

    if err != nil {
        log.Fatalf("failed writing to file: %s", err)
    }
    fmt.Printf("\nLength: %d bytes", len)
    fmt.Printf("\nFile Name: %s", file.Name())
}

func ReadFile() {
    data, err := ioutil.ReadFile("file.txt")
    if err != nil {
        log.Panicf("failed reading data from file: %s", err)
    }
    fmt.Printf("\nLength: %d bytes", len(data))
    fmt.Printf("\nData: %s", data)
    fmt.Printf("\nError: %v", err)
}

func main() {
    fmt.Printf("//// Create a file and Write the content ////\n")
    CreateFile()

    fmt.Printf("\n\n //// Read file //// \n")
    ReadFile()
}

Ausgabe:

//// Create a file and Write the content ////

Length: 20 bytes
File Name: file.txt

 //// Read file ////

Length: 20 bytes
Data: Hello, How are you?.
Error: <nil>

Verwandter Artikel - Go File