Está en la página 1de 5

Documentación sobre archivos

Emmanuel Muñoz Razo


En el siguiente programa se implementaron las librerías
filewriter, filereader, BufferedReader las cuales nos ayudan
a leer y escribir en archivos
import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;

public class Archivos {

private ArrayList<String> lineasLeidas;

public ArrayList<String> leerTxt(String direccion) {

lineasLeidas = new ArrayList<>();

try {

BufferedReader bf = new BufferedReader(new FileReader(direccion));

String bfRead;

while ((bfRead = bf.readLine()) != null) {

lineasLeidas.add(bfRead); // Agregar cada línea al ArrayList

bf.close(); // Cerrar el BufferedReader después de leer el archivo

} catch (Exception e) {

System.out.println("No se encontró el archivo: " + e);

}
return lineasLeidas;

public void burbuja() {

int contador = 0;

for (int i = 0; i < lineasLeidas.size() - 1; i++) {

for (int j = 0; j < lineasLeidas.size() - i - 1; j++) {

contador++;

if (lineasLeidas.get(j).compareTo(lineasLeidas.get(j + 1)) > 0) {

String temp = lineasLeidas.get(j);

lineasLeidas.set(j, lineasLeidas.get(j + 1));

lineasLeidas.set(j + 1, temp);

mostrar();

public void mostrar() {

for (String linea : lineasLeidas) {

System.out.println(linea);

public void buscar(String palabra) {

boolean encontrado = false;

for (String linea : lineasLeidas) {

if (linea.contains(palabra)) {

encontrado = true;
System.out.println("Linea encontrada: " + linea);

if (!encontrado) {

System.out.println("La palabra no se encontro en ninguna linea.");

public void guardarTxt(String direccion) {

try {

BufferedWriter bw = new BufferedWriter(new FileWriter(direccion));

for (String linea : lineasLeidas) {

bw.write(linea + "\n");

bw.close();

System.out.println("Contenido ordenado guardado en el archivo: " + direccion);

} catch (IOException e) {

System.out.println("Error al guardar el archivo: " + e);

public static void main(String[] args) {

Archivos a = new Archivos();

Scanner scanner = new Scanner(System.in);

boolean salir = false;

do {

System.out.println("\nMenu de opciones:");

System.out.println("1. Leer y mostrar contenido del archivo");

System.out.println("2. Mostrar contenido leído y ordenado (metodo burbuja)");

System.out.println("3. Buscar palabra en el contenido leido");

System.out.println("4 guardar en un txt");


System.out.println("5. Salir");

System.out.print("Elija una opcion: ");

int opcion = scanner.nextInt();

switch (opcion) {

case 1:

a.leerTxt("C:\\Users\\lenovo\\Documents\\txt\\examen.txt");

a.mostrar();

break;

case 2:

if (a.lineasLeidas != null) {

System.out.println("Lo leido sin ordenar----------------");

a.mostrar();

System.out.println("Lo leido ordenado--------------------");

a.burbuja();

} else {

System.out.println("Primero debe leer el archivo.");

break;

case 3:

if (a.lineasLeidas != null) {

scanner.nextLine(); // Limpiar el buffer

System.out.print("Ingrese la palabra a buscar: ");

String palabra = scanner.nextLine();

a.buscar(palabra);

} else {

System.out.println("Primero debe leer el archivo.");

break;
case 4:

a.guardarTxt("C:\\Users\\lenovo\\Documents\\txt\\examen_ordenado.txt");

break;

case 5:

salir = true;

break;

default:

System.out.println("Opcion no valida..");

break;

} while (!salir);

System.out.println("Adios pues");

scanner.close();

En este código se manejaron varios métodos, el priemro que es leer el cual se encarga de leer el
contenido de un archivo, en el cual la ruta ya esta predetermidnada en el código, luego
obteniendo la lectura se guarda en un array, después con el método burbuja se obtiene el
ordenamiento para lo leído y guardado en el array, luego el método buscar el cual compara la
palabra ingresada con cda línea de array hasta encontrar una igual, y por ultimo el escribir el
archivo ya acomodado y guardarlo en otro archivo txt.,

También podría gustarte