🥇 Manejo de Archivos, Copiar un archivo.

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 del programa.

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.

  1. Primero vamos a leer el contenido del archivo.

    origen, err := os.Open("origen.txt")
    
  2. Crear un nuevo archivo destino.txt con propiedades de escritura.

    destino, err := os.OpenFile("destino.txt", os.O_RDWR|os.O_CREATE, 0666)
    
  3. 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.

Manejo de Archivos, Listar un directorio. Manejo de archivos, Borrar un archivo.
comments powered by Disqus