2013-03-10 5 views
-1

Comment rechercher une entrée spécifique dans un fichier texte auquel j'ajoute?Lecture d'une ligne souhaitée dans un fichier txt

J'ai fait une interface graphique pour entrer les données, mais je peux lire tout le fichier, mais cela ne me sert à rien car je pense du point de vue des utilisateurs que si une réservation antérieure veut être appelée Je suis désemparé sur la compréhension de la façon de le faire. Quand je relis les données, j'essaie d'instancier un objet.

Voici une partie de mon code:

search.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent e) 
     { 
      String booking; 
      String where; 
      booking = JOptionPane.showInputDialog(" Booking Reference: ");  
      System.out.println("Booking Reference " + e.getActionCommand()); 
      if (booking.equals("Wales")) 
      try{ 

      FileInputStream fstream = new FileInputStream("Wales.txt"); 
      // Use DataInputStream to read binary NOT text. 
      BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
      String strLine; 

      while ((strLine = br.readLine()) != null) { 

      System.out.println (strLine); 
      } 

      in.close(); 
      } 
      catch (Exception ex) 
      { 
      System.err.println("Error: " + ex.getMessage()); 
      } 
      else if (booking.equals("Scotland")) 
      try{ 

      FileInputStream fstream = new FileInputStream("Scotland.txt"); 

      DataInputStream in = new DataInputStream(fstream); 
      BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
      String strLine; 
      while ((strLine = br.readLine()) != null) { 

      System.out.println (strLine); 
      } 
      where = JOptionPane.showInputDialog("Which booking reference do you wish to search?: "); 

      } 
      catch (Exception ex) 
      { 
      System.err.println("Error: " + ex.getMessage()); 
      } 
     } 
    }); 
+0

Ne pouvez-vous pas utiliser une base de données à la place? –

+0

Finalement, oui, c'est sur la liste à faire, mais je voulais d'abord essayer de cette façon. – user2129811

+0

À quoi ressemble la ligne que vous voulez? –

Répondre

1

Je pense que vous allez être mieux explorer un format de fichier XML, JSON ou INI pour traiter ce genre de chose. Comme vous commencez à le réaliser, un fichier texte sans format de sauvegarde est juste cela: un fichier texte.

Si vous voulez juste lire des paires clé/valeur, essayez quelque chose comme un fichier INI, en utilisant this Java INI library.

Si vous souhaitez instancier un objet à partir d'un fichier enregistré, XML est un meilleur choix. L'enregistrement d'un objet dans un fichier texte et la reconstitution de cet objet à partir du fichier enregistré sont appelés Serialization.

+0

Ok se penchera sur la sérialisation puis – user2129811

Questions connexes