Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/05/2011, 15:36
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 9 meses
Puntos: 344
Respuesta: leer archivo por campos

No veo la necesidad de un array adicional.

Sólo tienes que ir comprobando en cada iteración del bucle si se cumple la condición que buscas y si es así sales del bucle.

Sigues poniendo los Scanner s1 y s2. No entiendo para que los necesitas teniendo la función split que te he indicado.

Código C:
Ver original
  1. package pruebafichero;
  2.  
  3. import java.io.File;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileReader;
  6. import java.util.Scanner;
  7.  
  8.  
  9.  
  10. public class Ficheros {
  11. public static void main(String[] args) {
  12.  
  13. Scanner s;
  14. int d;
  15.  
  16. try {
  17. File f = new File("C:\\fichero.txt");
  18. s = new Scanner(f);
  19. boolean salir=false;
  20. while (s.hasNextLine() && !salir){
  21.    
  22. String linea = s.nextLine();
  23. String padre="blanco";
  24. //String e=s2.next();
  25.  
  26. //String a=sl.next();
  27. //String b=sl.next();
  28. //d = padre.compareTo(b);
  29. //String c=sl.next();
  30.  
  31. String []campos = linea.split(",");
  32. String a = campos[0];
  33. String b = campos[1];
  34. d = padre.compareTo(b);
  35. for(int i =0;i<campos.length;i++){
  36. //System.out.println("los campos son "+campos[i]);
  37. }
  38.  
  39. if(d==0){
  40. //guarda esa linea
  41. System.out.println("padre encontrado");
  42. System.out.println("la linea es: "+linea);
  43. salir=true;
  44. //System.out.println("los campos son "+campos[i]);
  45. //System.out.println("b es "+b);
  46. //System.out.println("c es "+c);
  47. }
  48. };
  49. s.close();
  50. } catch (FileNotFoundException e) {
  51. e.printStackTrace();
  52. }
  53. }  
  54. }