Go
Fil I / O
Sök…
Syntax
- fil, fel: = os.Öppna ( namn ) // Öppnar en fil i skrivskyddad läge. Ett fel som inte är noll returneras om filen inte kunde öppnas.
- fil, err: = os.Create ( name ) // Skapar eller öppnar en fil om den redan finns i skrivskyddsläge. Filen skrivs över till om den redan finns. Ett fel som inte är noll returneras om filen inte kunde öppnas.
- file, err: = os.OpenFile ( namn , flaggor , perm ) // Öppnar en fil i läget som anges av flaggorna. Ett fel som inte är noll returneras om filen inte kunde öppnas.
- data, err: = ioutil.ReadFile ( name ) // Läser hela filen och returnerar den. Ett fel som inte är noll returneras om hela filen inte kunde läsas.
- err: = ioutil.WriteFile ( namn , data , perm ) // Skapar eller skriver över en fil med tillhandahållna data och UNIX-tillståndsbitar. Ett fel som inte är noll returneras om filen inte kan skrivas till.
- err: = os. Ta bort ( namn ) // Tar bort en fil. Ett fel som inte är noll returneras om filen inte kunde raderas.
- err: = os.RemoveAll ( namn ) // Tar bort en fil eller en hel kataloghierarki. Ett fel som inte är noll returneras om filen eller katalogen inte kunde raderas.
- err: = os.Rename ( oldName , newName ) // Byt namn på eller flyttar en fil (kan finnas över kataloger). Ett fel som inte är noll returneras om filen inte kunde flyttas.
parametrar
Parameter | detaljer |
---|---|
namn | Ett filnamn eller sökväg av typsträng. Till exempel: "hello.txt" . |
fela | Ett error . Om inte nil representerar det ett fel som inträffade när funktionen kallades. |
fil | En filhanterare av typen *os.File returneras av os paketets filrelaterade funktioner. Den implementerar en io.ReadWriter , vilket innebär att du kan ringa Read(data) och Write(data) på den. Observera att dessa funktioner kanske inte kan ringas beroende på filens öppna flaggor. |
data | En bit byte ( []byte ) som representerar rådata för en fil. |
perm | UNIX-tillståndsbitarna som används för att öppna en fil med typen os.FileMode . Flera konstanter är tillgängliga för att hjälpa till med användningen av tillståndsbitar. |
flagga | Filera öppna flaggor som bestämmer de metoder som kan kallas på filhanteraren av typen int . Flera konstanter finns tillgängliga för att hjälpa till med användning av flaggor. De är: os.O_RDONLY , os.O_WRONLY , os.O_RDWR , os.O_APPEND , os.O_CREATE , os.O_EXCL , os.O_SYNC och os.O_TRUNC . |
Läsa och skriva till en fil med ioutil
Ett enkelt program som skriver "Hej, världen!" att test.txt
, läser tillbaka data och skriver ut dem. Visar enkla fil I / O-operationer.
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))
}
Lista alla filer och mappar i den aktuella katalogen
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())
}
}
Listar alla mappar i den aktuella katalogen
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow