Как добавить элементы в JComboBox из внешнего файла? - PullRequest
0 голосов
/ 06 марта 2011

Пожалуйста, мне нужна помощь в добавлении элементов в JComboBox в Java из внешнего файла.

Вот мой код:

 //Loading the Names:

        File Names_File = new File("Data" + File.separator + "Names.txt");
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        DataInputStream dis = null;

        String str_Data = ""; //For storing the input from the file.

        try
        {
            fis = new FileInputStream(Names_File);

            // Here BufferedInputStream is added for fast reading.
            bis = new BufferedInputStream(fis);
            dis = new DataInputStream(bis);


            str_Data = dis.readLine(); //Reading the line from the file.

            StringTokenizer st = new StringTokenizer(str_Data); //Tokenizing the line.

            //The below line adds only one item. The objective is adding all the items.

            //*** Requesting help here ***

            cmb_Name.addItem(st.nextToken("|"));

            //*** Requesting help here ***

            // Disposing and closing all the resources after using them.
            fis.close();
            bis.close();
            dis.close();
        }

        catch (FileNotFoundException e)
        {
            System.err.println("Error: File not found!");
            JOptionPane.showMessageDialog(null, "Error: File not found!", "Error Message",
                                          JOptionPane.ERROR_MESSAGE);
        }

        catch (IOException e)
        {
            System.err.println("Error: Unable to read from file!");
            JOptionPane.showMessageDialog(null, "Error: Unable to read from file!", "Error Message",
                                          JOptionPane.ERROR_MESSAGE);
        }

В основном формат моего внешнего файла выглядит следующим образом:

Джеймс | Роберт | Алиса

Имена разделены символами "|" .

Мой код выше добавляет только один элемент, а именно («Джеймс») в этом примере.Мне нужно добавить все три, возможно, в цикле или что-то.Идея в том, что я точно не знаю, сколько имен будет в моем внешнем файле.Таким образом, использование простых счетчиков не поможет.

Любые предложения с благодарностью!

Заранее спасибо за помощь

1 Ответ

1 голос
/ 06 марта 2011

Попробуйте это:

   StringTokenizer st = new StringTokenizer(str_Data); //Tokenizing the line.

   while(st.hasMoreTokens()) {
        cmb_Name.addItem(st.nextToken("|"));
   }
...