Go
File I / O
Ricerca…
Sintassi
- file, err: = os.Open ( nome ) // Apre un file in modalità di sola lettura. Un errore non nullo viene restituito se il file non può essere aperto.
- file, err: = os.Create ( nome ) // Crea o apre un file se già esiste in modalità di sola scrittura. Il file viene sovrascritto se esiste già. Un errore non nullo viene restituito se il file non può essere aperto.
- file, err: = os.OpenFile ( nome , flag , perm ) // Apre un file nella modalità specificata dai flag. Un errore non nullo viene restituito se il file non può essere aperto.
- data, err: = ioutil.ReadFile ( nome ) // Legge l'intero file e lo restituisce. Viene restituito un errore non nullo se non è possibile leggere l'intero file.
- err: = ioutil.WriteFile ( nome , data , perm ) // Crea o sovrascrive un file con i dati forniti ei bit di autorizzazione UNIX. Un errore non nullo viene restituito se il file non è stato scritto.
- err: = os.Remove ( nome ) // Elimina un file. Un errore non nullo viene restituito se il file non può essere cancellato.
- err: = os.RemoveAll ( nome ) // Elimina un file o una gerarchia di directory intera. Viene restituito un errore non nullo se il file o la directory non possono essere cancellati.
- err: = os.Rename ( oldName , newName ) // Rinomina o sposta un file (può trovarsi tra le directory). Un errore non nullo viene restituito se il file non può essere spostato.
Parametri
Parametro | Dettagli |
---|---|
nome | Un nome file o percorso di tipo stringa. Ad esempio: "hello.txt" . |
sbagliare | Un error Se non è nil , rappresenta un errore che si è verificato quando è stata chiamata la funzione. |
file | Un gestore di file di tipo *os.File restituito dalle funzioni relative al file del pacchetto os . Implementa un io.ReadWriter , ovvero è possibile chiamare Read(data) e Write(data) su di esso. Si noti che queste funzioni potrebbero non essere possibile chiamare in base ai flag aperti del file. |
dati | Una porzione di byte ( []byte ) che rappresenta i dati grezzi di un file. |
permanente | I bit di autorizzazione UNIX utilizzati per aprire un file con tipo os.FileMode . Sono disponibili diverse costanti per l'utilizzo dei bit di autorizzazione. |
bandiera | File flag aperti che determinano i metodi che possono essere chiamati sul gestore di file di tipo int . Sono disponibili diverse costanti per aiutare con l'uso delle bandiere. Sono: os.O_RDONLY , os.O_WRONLY , os.O_RDWR , os.O_APPEND , os.O_CREATE , os.O_EXCL , os.O_SYNC e os.O_TRUNC . |
Leggere e scrivere su un file usando ioutil
Un semplice programma che scrive "Ciao, mondo!" per test.txt
, legge i dati e li stampa. Dimostra semplici operazioni di I / O su file.
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))
}
Elenco di tutti i file e le cartelle nella directory corrente
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())
}
}
Elenco di tutte le cartelle nella directory corrente
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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow