Импорт файла с использованием Java FileChooser - PullRequest
0 голосов
/ 29 ноября 2009

У меня проблемы с использованием Java JFileChooser, и мне было интересно, кто-нибудь может мне помочь.Возможно, это что-то действительно простое, но я просто не могу определить, что не так.

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

Вот мой метод 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();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 29 ноября 2009

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

0 голосов
/ 29 ноября 2009

Вы должны использовать List или 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();
        }
    }
}

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

...