Buscar..


Sintaxis

  • archivo, err: = os.Open ( nombre ) // Abre un archivo en modo de solo lectura. Se devuelve un error no nulo si no se pudo abrir el archivo.
  • archivo, err: = os.Create ( nombre ) // Crea o abre un archivo si ya existe en modo de solo escritura. El archivo se sobrescribe si ya existe. Se devuelve un error no nulo si no se pudo abrir el archivo.
  • file, err: = os.OpenFile ( name , flags , perm ) // Abre un archivo en el modo especificado por las banderas. Se devuelve un error no nulo si no se pudo abrir el archivo.
  • data, err: = ioutil.ReadFile ( name ) // Lee todo el archivo y lo devuelve. Se devuelve un error no nulo si no se pudo leer el archivo completo.
  • err: = ioutil.WriteFile ( name , data , perm ) // Crea o sobrescribe un archivo con los datos proporcionados y los bits de permiso de UNIX. Se devuelve un error no nulo si el archivo no se pudo escribir.
  • err: = os.Remove ( name ) // Borra un archivo. Se devuelve un error no nulo si el archivo no se pudo eliminar.
  • err: = os.RemoveAll ( name ) // Borra un archivo o toda la jerarquía de directorios. Se devuelve un error no nulo si no se pudo eliminar el archivo o directorio.
  • err: = os.Rename ( oldName , newName ) // Renombra o mueve un archivo (puede ser a través de directorios). Se devuelve un error no nulo si el archivo no se pudo mover.

Parámetros

Parámetro Detalles
nombre Un nombre de archivo o ruta de acceso de tipo cadena. Por ejemplo: "hello.txt" .
errar Un error Si no es nil , representa un error que ocurrió cuando se llamó a la función.
expediente Un controlador de archivos de tipo *os.File devuelto por las funciones relacionadas con el archivo del paquete os . Implementa un io.ReadWriter , lo que significa que puede llamar a Read(data) y Write(data) en él. Tenga en cuenta que es posible que no se puedan llamar a estas funciones dependiendo de los indicadores abiertos del archivo.
datos Un segmento de bytes ( []byte ) que representa los datos sin procesar de un archivo.
permanente Los bits de permiso de UNIX utilizados para abrir un archivo de tipo os.FileMode . Hay varias constantes disponibles para ayudar con el uso de bits de permiso.
bandera Los indicadores de apertura de archivos que determinan los métodos a los que se puede llamar en el controlador de archivos de tipo int . Varias constantes están disponibles para ayudar con el uso de banderas. Estos son: os.O_RDONLY , os.O_WRONLY , os.O_RDWR , os.O_APPEND , os.O_CREATE , os.O_EXCL , os.O_SYNC y os.O_TRUNC .

Leer y escribir en un archivo usando ioutil.

Un programa simple que escribe "¡Hola mundo!" to test.txt , lee los datos y los imprime. Demuestra operaciones simples de E / S de archivos.

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))
}

Listado de todos los archivos y carpetas en el directorio actual.

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())
    }
}

Listado de todas las carpetas en el directorio actual

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow