Ejercicios tema 14
Ejercicio 1. Escribe un programa que guarde la frase ‘Hola Mundo’ en un archivo llamado salida.txt.
Solución:
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (FileWriter writer = new FileWriter("salida.txt")) {
writer.write("Hola Mundo");
System.out.println("Texto escrito en salida.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 2. Escribe un programa que lea el contenido de el archivo llamado salida.txt y lo muestre en la consola.
Solución:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("salida.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 3. Escribe un programa que copie el contenido de salida.txt a destino.txt
Solución:
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (FileReader reader = new FileReader("salida.txt");
FileWriter writer = new FileWriter("destino.txt")) {
int c;
while ((c = reader.read()) != -1) {
writer.write(c);
}
System.out.println("Contenido copiado de salida.txt a destino.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 4. Escribe un programa que cuente el número de palabras del archivo llamado destino.txt
Solución:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
int wordCount = 0;
try (BufferedReader reader = new BufferedReader(new FileReader("destino.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
String[] words = line.split("\\s+");
wordCount += words.length;
}
System.out.println("Número de palabras en destino.txt: " + wordCount);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 5. Escribe un programa que guarde los números del 1 al 10 en un archivo llamado numeros.txt, con cada número en una línea.
Solución:
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (FileWriter writer = new FileWriter("numeros.txt")) {
for (int i = 1; i <= 10; i++) {
writer.write(i + "\n");
}
System.out.println("Números escritos en numeros.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 6. Escribe un programa que lea números enteros de un archivo llamado numeros.txt y calcule la suma de estos números.
Solución:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
int sum = 0;
try (BufferedReader reader = new BufferedReader(new FileReader("numeros.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
sum += Integer.parseInt(line);
}
System.out.println("Suma de los números en numeros.txt: " + sum);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 7. Escribe un programa que añada la frase ‘Fin del archivo’ al final de un archivo llamado log.txt.
Solución:
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (FileWriter writer = new FileWriter("log.txt", true)) {
writer.write("Fin del archivo\n");
System.out.println("Texto añadido a log.txt");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 8. Escribe un programa que lea el contenido del archivo números.txt y lo muestre en la consola cada valor multiplicado por 10.
Solución:
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String archivo = "numeros.txt"; // Archivo que contiene los números
try (BufferedReader br = new BufferedReader(new FileReader(archivo))) {
String linea;
while ((linea = br.readLine()) != null) {
int numero = Integer.parseInt(linea); // Convierte la línea en un número
int resultado = numero * 10; // Multiplica el número por 10
System.out.println(resultado); // Muestra el resultado
}
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
System.out.println("El archivo contiene datos no numéricos.");
}
}
}
Ejercicio 9. Escribe un programa que escriba los bytes del 0 al 255 en un archivo llamado output.bin.
Solución:
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (FileOutputStream fos = new FileOutputStream("output.bin")) {
for (int i = 0; i <= 255; i++) {
fos.write(i);
}
System.out.println("Bytes escritos en output.bin");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ejercicio 10. Escribe un programa que escriba en un fichero los datos de un trabajador, Nombre, Edad Y Cargo. Después el programa leerá esos datos y los mostrará por pantalla.
Solución:
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String archivo = "trabajador.txt"; // Nombre del archivo
// Escribir los datos del trabajador en el archivo
try (FileWriter fw = new FileWriter(archivo)) {
fw.write("Nombre: Juan Perez\n");
fw.write("Edad: 35\n");
fw.write("Cargo: Ingeniero de Software\n");
} catch (IOException e) {
e.printStackTrace();
}
// Leer los datos del archivo y mostrarlos en pantalla
try (BufferedReader br = new BufferedReader(new FileReader(archivo))) {
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea); // Mostrar cada línea en pantalla
}
} catch (IOException e) {
e.printStackTrace();
}
}
}