Go
Datei I / O
Suche…
Syntax
- file, err: = os.Open ( name ) // Öffnet eine Datei im schreibgeschützten Modus. Ein Nicht-Null-Fehler wird zurückgegeben, wenn die Datei nicht geöffnet werden konnte.
- file, err: = os.Create ( name ) // Erzeugt oder öffnet eine Datei, wenn sie im schreibgeschützten Modus bereits vorhanden ist. Die Datei wird überschrieben, wenn sie bereits existiert. Ein Nicht-Null-Fehler wird zurückgegeben, wenn die Datei nicht geöffnet werden konnte.
- file, err: = os.OpenFile ( Name , Flags , Perm ) // Öffnet eine Datei in dem durch die Flags angegebenen Modus. Ein Nicht-Null-Fehler wird zurückgegeben, wenn die Datei nicht geöffnet werden konnte.
- data, err: = ioutil.ReadFile ( name ) // Liest die gesamte Datei und gibt sie zurück. Ein Nicht-Null-Fehler wird zurückgegeben, wenn die gesamte Datei nicht gelesen werden konnte.
- err: = ioutil.WriteFile ( Name , Daten , Perm ) // Erzeugt oder überschreibt eine Datei mit den bereitgestellten Daten und den UNIX-Berechtigungsbits. Ein Nicht-Null-Fehler wird zurückgegeben, wenn nicht in die Datei geschrieben werden konnte.
- err: = os.Remove ( name ) // Löscht eine Datei. Ein Nicht-Null-Fehler wird zurückgegeben, wenn die Datei nicht gelöscht werden konnte.
- err: = os.RemoveAll ( name ) // Löscht eine Datei oder eine ganze Verzeichnishierarchie. Ein Nicht-Null-Fehler wird zurückgegeben, wenn die Datei oder das Verzeichnis nicht gelöscht werden konnte.
- err: = os.Rename ( oldName , newName ) // Benennt eine Datei um oder verschiebt sie (kann über mehrere Verzeichnisse hinweg sein). Ein Nicht-Null-Fehler wird zurückgegeben, wenn die Datei nicht verschoben werden konnte.
Parameter
Parameter | Einzelheiten |
---|---|
Name | Ein Dateiname oder ein Pfad des Typs string. Zum Beispiel: "hello.txt" . |
Irr | Ein error Wenn nicht gleich nil , handelt es sich um einen Fehler, der beim Aufruf der Funktion aufgetreten ist. |
Datei | Ein *os.File vom Typ *os.File von den mit der os Paketdatei verbundenen Funktionen zurückgegeben wird. Es implementiert einen io.ReadWriter , das heißt, Sie können Read(data) und Write(data) darauf aufrufen. Beachten Sie, dass diese Funktionen möglicherweise nicht in Abhängigkeit von den offenen Flags der Datei aufgerufen werden können. |
Daten | Ein Byte-Byte ( []byte ), das die Rohdaten einer Datei darstellt. |
Dauerwelle | Die UNIX-Berechtigungsbits, die zum Öffnen einer Datei mit dem Typ os.FileMode . Für die Verwendung von Berechtigungsbits stehen mehrere Konstanten zur Verfügung. |
Flagge | Dateiöffnungs-Flags, die die Methoden bestimmen, die für den File-Handler des Typs int aufgerufen werden können. Für die Verwendung von Flags stehen mehrere Konstanten zur Verfügung. Dies sind: os.O_RDONLY , os.O_WRONLY , os.O_RDWR , os.O_APPEND , os.O_CREATE , os.O_EXCL , os.O_SYNC und os.O_TRUNC . |
Lesen und Schreiben in eine Datei mit ioutil
Ein einfaches Programm, das "Hallo, Welt!" Schreibt. test.txt
liest die Daten zurück und druckt sie aus. Veranschaulicht einfache Datei-E / A-Vorgänge.
package main
import (
"fmt"
"io/ioutil"
)
func main() {
hello := []byte("Hello, world!")
// Write `Hello, world!` to test.txt that can read/written by user and read by others
err := ioutil.WriteFile("test.txt", hello, 0644)
if err != nil {
panic(err)
}
// Read test.txt
data, err := ioutil.ReadFile("test.txt")
if err != nil {
panic(err)
}
// Should output: `The file contains: Hello, world!`
fmt.Println("The file contains: " + string(data))
}
Auflisten aller Dateien und Ordner im aktuellen Verzeichnis
package main
import (
"fmt"
"io/ioutil"
)
func main() {
files, err := ioutil.ReadDir(".")
if err != nil {
panic(err)
}
fmt.Println("Files and folders in the current directory:")
for _, fileInfo := range files {
fmt.Println(fileInfo.Name())
}
}
Alle Ordner im aktuellen Verzeichnis auflisten
package main
import (
"fmt"
"io/ioutil"
)
func main() {
files, err := ioutil.ReadDir(".")
if err != nil {
panic(err)
}
fmt.Println("Folders in the current directory:")
for _, fileInfo := range files {
if fileInfo.IsDir() {
fmt.Println(fileInfo.Name())
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow