Mostrando entradas con la etiqueta Archivos en java. Mostrar todas las entradas
Mostrando entradas con la etiqueta Archivos en java. Mostrar todas las entradas

sábado, 24 de diciembre de 2011

Lenguaje Java - Ejercicios 1

Ejemplo de manejo de Archivos

El común ejemplo de yacaré!, si es el caso de un cocodrilo que puede estar en 10 posiciones y que tiene un dispositivo que le envia una señal a un computador y la posición la guarda en un archivo de texto, usted debe leer el archivo de texto y hallar la moda, contar cuantos dias estuvo en cada posición, etc.


Bueno la implementación es la siguiente:


import java.io.File;
import java.util.Scanner;


public class Yacare {
    public static void main(String ags[]){
       
        try{
           
          File archivo=new File("yacare.txt"); 
          Scanner scanner=new Scanner(archivo); 
          int aux;
          int pos[]={1,2,3,4,5,6,7,8,9,10};
          int dias[]={0,0,0,0,0,0,0,0,0,0};
// contadores empiezan con 0 dias
          while(scanner.hasNext()){
              aux=scanner.nextInt();
// leo un token del archivo
              for(int i=0;i<10;i++){
                if(aux==pos[i]){
// busco la posicion del token en pos[]
                  dias[i]=dias[i]+1;
// si lo encuentro le sumo 1 dia
                } 
              }   
          }
          int moda=dias[0];
// hallamos moda
          int posmoda=1;
           for(int i=0;i<10;i++){
                 if(dias[i]>moda){
// si se repite más q la moda
                     moda=dias[i];
                     posmoda=pos[i];
                    
                 }
           }  
          
          
        System.out.println("Pos"+"      "+"Dias");
            for(int i=0;i<10;i++){
                 System.out.println(pos[i]+"           "+dias[i]);
              }   
       
         
          System.out.println("Moda"+"      "+moda);
          System.out.println("Pos Moda"+"      "+posmoda);
        }catch(Exception s){
           
            System.out.println("Error!");
           
        }
       
       
    }
}

Lenguaje Java - Leccion 10

Archivos en Java

Con java también podemos procesar archivos de todo tipo, leerlos y escribir en ellos, en la lección de hoy veremos como procesar los archivos ".txt", si los archivos planos ( de texto ), para ello usaremos las librerías.

java.io.*;
java.util.Scanner;

En el manejo de archivos se usan las estructuras Try-Catch, nos indican que el código dentro del Try se debe intentar hacer y si ocurre un problema, hacer la parte del Catch.
try{
// hacer algo  y si pasa algo pasar al catch

}catch(Exception obj){ // pongan siempre Exception para cualquier error que ocurra
  // en caso de error en el try hacer lo que esta aqui
}

Escribiendo archivos:

 public void creaData(){
         //Crear un archivo
        try{
             File f=new File("Archivo1.txt");
            FileOutputStream fo=new FileOutputStream(f,true);
// ese true es para ver si se apila o se
//crea un archivo nuevo
            PrintWriter escribe=new PrintWriter(fo); // el objeto llamado escribe es el que usaremos
       
            escribe.println("1 2 3 4 5 6");
// escribimos los valores 1,2,3,4,5,6 separados por un espacio
//de linea y luego damos un salto de linea (println).
            escribe.println("Terminado"); // escribimos terminado
          for(int i=0;i<10;i++){
              escribe.println(""+(i+1));
// escribimos los numeros del 1 al 10
          }
        escribe.close();
//cerrar el archivo es necesario porque si no cierras no guarda
        //también puede usarse el método escribe.flush(); para guardar pero seguir editando
        }catch(Exception a){
            System.out.println("Error!");
        }
    }


*Los archivos se crean en la carpeta del proyecto del netbeans, en el caso que pongamos la ruta del archivo, lo encontraremos en esa ruta, ejm: File f=new File("C:\Archivo1.txt"); en ese caso el archivo estará en C:\, pero si lo dejamos asi File f=new File("Archivo1.txt"); el archivo respectivo estará en la carpeta del proyecto del netbeans.

Leyendo data de un archivo: Hablamos de token cuando nos referimos a 1 palabra separada por un espacio en blanco o un salto de linea, por ejemplo en " 2 3 4 5 asd 4234" hay 6 tokens.

public void leeArchivo(){
    
    //Lectura de archivos
         try{
             File f=new File("Archivo1.txt");
// leemos el archivo creado anteriormente
             Scanner sca=new Scanner(f);
// declaramos el objeto Scanner para leer
             String aux;
             while(sca.hasNext()){
// mientras tenga 1 token el archivo
                 aux=sca.next();
// leemos el primer token
                 System.out.println(aux);
// lo imprimimos en consola
             }
            
            
         }catch(Exception as){
             System.out.println("Error");
         }
        
    }