馃敟 MANEJO DE ARCHIVOS, COPIAR UN ARCHIVO

驴C贸mo copiar archivos en Go?

Si bien muchas operaciones con archivos son posibles mediante la librer铆a ioutil. Sin embargo cuando es necesario utilizar operaciones mas complejas, podemos echar mano de la librer铆a os.

El proceso para copiar un archivo es:

  1. Abrir el archivo a copiar.
  2. Leer el contenido.
  3. Crear el archivo en donde se va a copiar.
  4. Escribir el contenido del nuevo archivo.
  5. Cerrar ambos archivos.

Ejemplo para copiar un archivo en Go

package main

import (
    "fmt"
    "io"
    "log"
    "os"
)

func main() {
    // leer datos de origen
    origen, err := os.Open("origen.txt")
    if err != nil {
        log.Fatal(err)
    }
    // cierra el archivo "origen.txt" al terminar el programa
    defer origen.Close()
    // crea un nuevo archivo
    destino, err := os.OpenFile("destino.txt", os.O_RDWR|os.O_CREATE, 0666)
    if err != nil {
        log.Fatal(err)
    }
    // cierra el archivo "destino.txt" al terminar programa
    defer destino.Close()
    // copiar datos
    resultadoCopia, err := io.Copy(destino, origen)
    if err != nil {
        log.Fatal(err)
    }
}

Descripci贸n del ejemplo para copiar archivos en Go

  1. Primero vamos a leer el contenido del archivo.
origen, err := os.Open("origen.txt")
  1. Crear un nuevo archivo destino.txt con propiedades de escritura.
destino, err := os.OpenFile("destino.txt", os.O_RDWR|os.O_CREATE, 0666)
  1. Copar el contenido del archivo origen.txt a destino.txt.
resultadoCopia, err := io.Copy(destino, origen)

Al ejecutar el programa podremos darnos cuenta que el contenido del archivo origen se copia al archivo destino.