2009-11-29 2 views
0

У меня возникли проблемы с использованием Java JFileChooser, и мне было интересно, сможет ли кто-нибудь помочь мне. Это, наверное, что-то действительно простое, но я просто не могу понять, что случилось.Импорт файла с помощью Java FileChooser

Окно JFileChooser открывается, когда я нажимаю кнопку импорта, и я могу перейти к любому полю, но я просто не могу прочитать их в своем JTextFields.

Heres мой 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

Вы попробовали отладить его? – Bozho

+0

не вижу никаких JTextFields –

ответ

0

Вы должны использовать список или StringBuilder для облегчения получения линий. И получаете ли вы какие-либо ошибки (-ы) в результате? Отладка действительно поможет увидеть, где ваша программа ломается.

Вот что-то я собрал для вас очень быстро:

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(); 
     } 
    } 
} 

Я не компилировать это так, возможно, некоторые опечатки или такого ...

0

импортирует в список массива под названием «contactList», который вы видите, находится на пятой строчке снизу. Таким образом, он не переходит прямо в JTextFields, но в любом случае я не могу заставить его работать.

Смежные вопросы