some image

Codes and Tags

Lectura y Escritura de archivos en Java

Etiquetas: Blog, Programación No comments

Hace poco fue implantada una idea en mi cerebro que debo desarrollar (jejeje al estilo el origen). Bueno de que se trata esto; Uno de mis hobbies es la programación (Aunque me considero muy novato aún) y como la mejor forma de aprender es practicando, decidi prepararme para participar a final de año o el próximo año en las maratones de programación organizadas por ACIS / REDIS, con la misión de llegar en algún momento a la Latinoamericana =).

De esta forma esta semana ha crecido en mi un fuerte interés por aprender algoritmia, matematicas, optimización de códigos y tener la habilidad de poder enfrentarme a cualquier reto… Se que no es nada fácil, asi que uno de los fuertes pilares será la documentación. Bien para no alargar más esto voy al grano.

Este es un caso muy comun en algunas competencias. “Leer un archivo y Escribir un archivo”, por comodidad y gusto prefiero usar Java =).

 

/*
Escribir un programa que lea los numeros enteros especificados en una linea y los sume.
La suma de los numeros debe ser escrita en un archivo nuevo.

Archivo entrada : test.in
Archivo salida : test.out
 */

import java.io.*;
import java.util.*;

public class Test {
	public static void main(String[] args) throws IOException {
		// Objeto para lectura de archivos
		BufferedReader filein = new BufferedReader(new FileReader(
				"resources/test.in"));
		// Objeto para escritura de archivos
		PrintWriter fileout = new PrintWriter(new FileWriter(
				"resources/test.out"));
		// Objeto String para almacenar lineas
		String line;

		while ((line = filein.readLine()) != null) {
			// Objeto para partir las lineas segun el token
			StringTokenizer st = new StringTokenizer(line);
			// Variable donde quedaran sumados los nums
			long sum = 0;

			// Recorrido de todos los tokens de una linea
			while (st.hasMoreElements()) {
				sum += Integer.parseInt(st.nextToken());
			}

			// Escritura de la suma de los numeros en el archivo
			fileout.println(sum);
		}
		// Envio todos los stream al archivo
		fileout.flush();
		// Cierre del archivo
		fileout.close();

		System.out.println("Hakuna Matata!");
	}
}

Contenido Archivo : test.in

1 2 3 4 5 6 7 8 9 10
55 0 -5 6 7 88 10
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10

Contenido Archivo : test.out despues de ejecutar el programa

55
161
-55

About Edwin Torres

Related Posts

  • Logo Java
  • Logo Java
  • Logo Java
  • Logo Java

Add your comment