Advertisement
Garro

Java - Lee texto (Terremoto.txt)

Jul 11th, 2012
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.67 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3. public class terremoto{
  4.    
  5. public static void main(String[]args)throws IOException{
  6.     String[] data = datosArchivos();
  7.     imprimeDatos(data,data.length);
  8.     consultaCiudad(data,data.length);
  9. }
  10. /* metodo"datosArchivos", que lee el archivo "TERREMOTO.TXT" y envia
  11. * toda la info al arreglo "eventos", con un orden distinto
  12. * este arreglo contempla la primera lineal del archivo(los nombres de campo), pero
  13. * las siguientes lineas van en orden inverso. por ejemplo la siguiente fila
  14. * corresponde a la ultima del archivo, la que sigue en el arreglo es la penultima del archivo, etc*/
  15.  
  16. public static String[] datosArchivos() throws IOException{
  17.     File archivo = new File("Archivos/TERREMOTO.txt");
  18.     Scanner text = new Scanner(archivo);
  19.     String[] evento;
  20.     int counter = 0;
  21.     while(text.hasNextLine()){
  22.         counter++;
  23.         text.nextLine();
  24.     }text = new Scanner(archivo);
  25.     evento = new String[counter];
  26.     evento[0] = text.nextLine();
  27.     while(text.hasNextLine()){
  28.         counter--;
  29.         evento[counter] = text.nextLine();
  30.     }return evento;
  31. }
  32. /*metodo "imprimeDatos" que acepta como parametros el arreglo anterior
  33. * y su dimension e imprime en pantalla el contenido del arreglo */
  34.  
  35. public static void imprimeDatos(String[] data,int length){
  36.     for(int i = 0;i < length;i++){
  37.         System.out.println(data[i]);
  38.     }
  39. }
  40. /* metodo "consultaCiudad" que acepta los mismos parametros que el metodo anterior y
  41. * solicita al usuario el nombre de una localidad. si ingresa nulo o una serie de blancos
  42. * el programa debe enviar un mensaje de error (gestionado como error de excepcion!!)
  43. * si la localidad no existe. Con un nombre de localidad valida, enviara a pantalla todos
  44. * los registros que contienen esa localidad */
  45.  
  46. public static void consultaCiudad(String[] data,int length){
  47.     Scanner tec = new Scanner(System.in);
  48.     String local = null;
  49.     boolean error = true;
  50.     while(error){
  51.         try{
  52.             System.out.print("Ingrese una localidad: ");
  53.             local = tec.nextLine();
  54.             if (local.equalsIgnoreCase("San Antonio") || local.equalsIgnoreCase("Valparaiso") || local.equalsIgnoreCase("Navidad") || local.equalsIgnoreCase("Pichilemu") || local.equalsIgnoreCase("Curico") || local.equalsIgnoreCase("Cobquecura") || local.equalsIgnoreCase("Constitucion") || local.equalsIgnoreCase("Melipilla")){
  55.                 error = false;
  56.             }else{
  57.                 throw new Exception();
  58.             }
  59.         }catch(Exception ex){
  60.             System.out.println("Error. La localidad ingresada no es valido.");
  61.         }
  62.     }int index = 0;
  63.     String localTerr;
  64.     for(int i = 1;i < length;i++){
  65.         index = data[i].indexOf("de")+3;
  66.         localTerr = data[i].substring(index);
  67.         if(local.equalsIgnoreCase(localTerr)){
  68.             System.out.println(data[i]);
  69.         }
  70.     }
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement