Golang OS offen

Golang OS offen

Sie müssen fast die ganze Zeit Dateien in Ihren Programmen lesen oder schreiben. Dies ist eine grundlegende Anforderung, die jeder Programmierer unter den Gürteln haben sollte. In diesem Artikel wird das Öffnen und Lesen von Dateien in Go über das Betriebssystempaket behandelt und gelesen.

Golang OS -Paket

Um Dateien in Go zu lesen und zu schreiben, müssen wir das Betriebssystempaket importieren. Sie können es mit dem Schlüsselwort importieren, wie unten gezeigt:

importieren "Betriebssystem"

Nach dem Import können Sie Dateioperationen ohne Fehler ausführen.

Betriebssystem.Offen()

Bevor wir die Open () -Methode zum Öffnen und Lesen der Datei verwenden, bereiten wir unsere Umgebung vor. Erstellen Sie ein Arbeitsverzeichnis:

mkdir read_file

Navigieren Sie in das Verzeichnis und erstellen Sie eine Textdatei:

CD read_file
Berühren Sie Hallo.txt

Sobald wir eine Textdatei zum Lesen haben, öffnen Sie sie mit Ihrem bevorzugten Texteditor und fügen Sie einige Inhalte hinzu:

$ vim Hallo.txt
"Hallo aus dem Hallo.TXT -Datei "

Schließen und speichern Sie die Datei.

So erstellen und lesen Sie die Datei in Go, erstellen Sie eine Go -Datei und geben Sie den Code ein:

Datei, ERR: = OS.Offen ("Hallo.txt")
Wenn er irrt != nil
Protokoll.Tödlich (arr)

Sobald wir die Datei geöffnet haben, können wir die Daten der Datei in ein Stück Bytes lesen. Wir können dies mit der Lesemethode tun, die die Bytegröße als Argument nimmt. Ein Beispiel ist wie gezeigt:

Datei_data: = make ([] byte, 50)
zählen, arr: = Datei.Read (Datei_Data)
Wenn er irrt != nil
Protokoll.Tödlich (arr)

fmt.Printf (" %d Bytes: %Q \ n", count, File_Data [: count])

In diesem Abschnitt verwenden wir die Erstellung eines Stücks Bytes. Wir verwenden dann die Methode read (), um die Daten der Datei zu lesen.

Wir prüfen auf Fehler und bestimmen dann die Anzahl der Bytes, die wir aus der Datei gelesen haben. Mit der Printf -Methode drucken wir den Inhalt der Datei aus.

Die resultierende Ausgabe:

Lesen Sie 29 Bytes: “Hallo aus dem Hallo.TXT -Datei

Wie Sie sehen können, lesen wir genau 29 Bytes aus der Datei.

Wenn wir versuchen, eine Datei zu öffnen, die nicht vorhanden ist, gibt die Funktion einen Fehler zurück, wie gezeigt:

Datei, ERR: = OS.Open ("Info.txt")

Fehlerausgabe:

Offene Infos.TXT: Das System kann die angegebene Datei nicht finden.
Beendenstatus 1

Betriebssystem.Datei öffnen()

Mit der Methode OpenFile () können Sie eine Datei mit dem angegebenen Flag öffnen. Solche Flaggen umfassen:

  1. O_rdonly- Schreibgeschützter Modus.
  2. O_wronly. Öffnet die Datei im nur Schreibmodus.
  3. O_RDWR-Öffnen Sie die Datei im Read-Write-Modus.
  4. O_Append-Fängt Daten beim Schreiben an die Datei an.
  5. O_trunc-Schneiden Sie gegebenenfalls die Datei ab, wenn sie geöffnet sind, gegebenenfalls.
  6. O_SYNC - Öffnen Sie die Datei für synchrone i/o.
  7. O_create - Erstellen Sie eine Datei, wenn sie nicht existiert.

Sie können jedes Flag angeben, wenn Sie eine Datei basierend auf Ihren Anforderungen öffnen.

Wenn Sie die OpenFile () -Methode mit dem O_Create -Flag aufrufen.

Beispiel:

Datei, ERR: = OS.OpenFile ("neu.txt ", os.O_RDWR | OS.O_create, 0777)
Wenn er irrt != nil
Protokoll.Tödlich (arr)

Wenn ERR: = Datei.Schließen(); irren != nil
Protokoll.Tödlich (arr)

Im obigen Beispiel verwenden wir die Methode OpenFile (), um eine Datei im Les-/Schreibmodus zu öffnen, wie vom Betriebssystem angegeben.Rdwr () Flagge. Wir geben auch das Betriebssystem an.O_create flag, um die Datei zu erstellen, wenn sie nicht vorhanden ist.

Beachten Sie, dass wir auch die Genehmigung von 0755 angeben.

Wenn wir den obigen Code ausführen, sollte die Datei mit dem Namen neu erstellt werden.txt.

$ ls -la
-RW-R-R-1 CSALEM 197121 0 0 24. Januar 15:00 Neu.txt

Abschluss

Dieser Leitfaden hat uns beigebracht, wie Sie Dateien in Go mit den Methoden Open and OpenFile () öffnen und lesen können. Erkunden Sie die Dokumentation, um mehr zu erfahren.

Danke fürs Lesen!