Por Lucas Trubiano - Data Engineer | Profesor y Consultor

Lectura de líneas y caracteres

En Scala, puedes leer líneas y caracteres de un archivo utilizando Source.fromFile para crear una fuente de entrada. Puedes utilizar métodos como getLines y getLines para leer líneas y caracteres.

// Lectura de líneas
import scala.io.Source

val fuente = Source.fromFile("archivo.txt")
for (linea <- fuente.getLines) {
  println(linea)
}
fuente.close()

// Lectura de caracteres
import scala.io.Source

val fuente = Source.fromFile("archivo.txt")
for (caracter <- fuente) {
  print(caracter)
}
fuente.close()

Lectura de fichas y números

Puedes utilizar métodos de conversión para leer fichas y números desde un archivo, como toInt, toDouble, etc.

import scala.io.Source

val fuente = Source.fromFile("numeros.txt")
val numeros = fuente.getLines.map(_.toDouble).toList
fuente.close()

Lectura de URL y otras fuentes

Además de archivos locales, Scala permite leer datos desde URL y otras fuentes, como entrada estándar y cadenas.

import scala.io.Source

val fuente = Source.fromURL("<https://www.ejemplo.com/archivo.txt>")
val contenido = fuente.mkString
fuente.close()

Lectura de archivos binarios

Scala permite leer archivos binarios utilizando un FileInputStream y luego convertir los bytes en datos útiles.

import java.io.{File, FileInputStream}

val archivo = new File("datos.bin")
val flujo = new FileInputStream(archivo)
val bytes = new Array[Byte](archivo.length.toInt)
flujo.read(bytes)
flujo.close()

Escribir archivos de texto

Puedes escribir archivos de texto en Scala utilizando un PrintWriter y métodos como println para escribir líneas.

import java.io.PrintWriter

val escritor = new PrintWriter("salida.txt")
escritor.println("Hola, mundo!")
escritor.close()

Ejercicios

Ejercicio 1: Leer Cuentas Bancarias desde un Archivo CSV

En un archivo CSV llamado "cuentas.csv" se encuentran los datos de cuentas bancarias en el siguiente formato: