2009-11-29 6 views
0

Je rencontre des difficultés pour utiliser le Java JFileChooser et je me demandais si quelqu'un pouvait m'aider. C'est probablement quelque chose de très simple mais je ne peux pas voir ce qui ne va pas.Importer un fichier en utilisant le Java FileChooser

La fenêtre JFileChooser s'ouvre très bien lorsque je clique sur mon bouton d'importation et que je peux naviguer vers n'importe quel champ mais je ne peux pas les lire dans mon JTextFields.

Heres ma méthode JFileChooser:

public void importFile() { 
    JFileChooser chooser = new JFileChooser();//A 
    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { //a 
     try { 
      BufferedReader file_in = new BufferedReader(
      new FileReader(chooser.getSelectedFile().getPath())); 
      int i = 0; 

      String name = "",hnumber = "", mnumber = "", address = ""; 

      while (((fileLines = file_in.readLine()) != null)) { 
       if (fileLines.length() > 0) { 
        i++; 
        if (i == 1) { 
         name = fileLines; 
        } else if (i == 2) { 
         hnumber = fileLines; 
        } else if (i == 3) { 
         mnumber = fileLines; 
        } else if (i == 4) { 
         address = fileLines; 

         String[] nameArray = name.split(" "); 

         Contact c = new Contact (nameArray[1], nameArray[0], 
         hnumber, mnumber, address); 
         contactList.add(c); 
         index = 0; 
        } 
       } 
      } 

      for (int j = 0; j < contactList.size(); j++) { 
       System.out.print(contactList.get(j).getname()); 
       System.out.print(" "); 
       System.out.println(contactList.get(j).getmnumber()); 
       System.out.println(contactList.get(j).gethnumber()); 
       System.out.println(contactList.get(j).getaddress()); 
       System.out.println(contactList.get(j).getsurname()); 
       System.out.println(" "); 
      } 

     } catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } 
    } 
} 
+1

avez-vous essayé de le déboguer? – Bozho

+0

ne voient aucun JTextFields –

Répondre

0

Vous devez utiliser une liste ou un StringBuilder pour faciliter l'obtention des lignes. Et obtenez-vous des erreurs en résultat? Le débogage aiderait vraiment à voir où votre programme se casse.

Voici quelque chose que je mets ensemble pour vous réel rapide:

public void importFile() { 
    JFileChooser chooser = new JFileChooser();//A 
    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { //a 
     try { 
      FileReader fr = new FileReader(chooser.getSelectedFile().getPath()); 
      BufferedReader file_in = new BufferedReader(fr); 
      List lines = new List(); 
      String line = new String(""); 
      while ((line = file_in.readLine()) != null) { 
       list.add(line); 
       if (list.size() >= 3) { 
        String[] nameArray = ((String)list.get(0)).split(" "); 
        Contact c = new Contact (nameArray[1], nameArray[0], 
          (String)list.get(1), (String)list.get(2), 
          (String)list.get(3)); 
        contactList.add(c); 
       } 
       System.out.println(list.get(list.size()-1)); // Debug 
      } 
     } 
     catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } 
    } 
} 

Je ne compile pas, il peut donc avoir des fautes de frappe ou d'un tel ...

0

Il importe dans une liste de tableau appelé "contactList" que vous pouvez voir est sur la 5ème ligne à partir du bas. Donc ça ne va pas directement dans JTextFields mais de toute façon je ne peux pas le faire fonctionner.

Questions connexes