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