Прочитайте первое слово каждой строки из текстового файла, а затем заполните в поле со списком - PullRequest
1 голос
/ 28 октября 2011

У меня есть проект колледжа, где я должен прочитать первое слово каждой строки из текстового файла, который выглядит следующим образом:

23123123213 Samuel classA
23423423423 Gina classC
23423423423 John classD

Текстовый файл будет обновлен до 3 JTextField, что я могу выяснить.

но теперь мне нужно заполнить JCombobox первым словом (23123123213,23423423423 и 23423423423) всех строк.

Я новичок в Java, у меня даже нет намека на то, как насчет этого. Я умею читать и писать в текстовые файлы.

Пожалуйста, кто-нибудь может мне помочь сделать это?

Код, который я придумал, выглядит следующим образом:

import java.io.*;
public class FileRead 
{
 public static void main(String args[])
  {
  try{
  // Open the file that is the first 
  // command line parameter
  FileInputStream fstream = new FileInputStream("RokFile.txt");
  // Get the object of DataInputStream
  DataInputStream in = new DataInputStream(fstream);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String strLine;
  //Read File Line By Line
  while ((strLine = br.readLine()) != null)   {

      String[] delims = strLine.split(" ");
      String first = delims[0];
      System.out.println("First word: "+first);

  }
  //Close the input stream
  in.close();
    }catch (Exception e){//Catch exception if any
  System.err.println("Error: " + e.getMessage());
  }
  }
}

С вашей помощью, ребята, я успешно смог извлечь первую строку из каждой строки но теперь, как я могу заполнить его в Jcombobox, я имею в виду, должен ли я сначала сохранить его где-нибудь?

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 28 октября 2011

Я не "плохо" с Java, однако я могу дать вам несколько советов:

  • Вы можете читать файлы, и предположительно можете читать строки.
  • Каждыйстрока (предположительно) разделена пробелами, поэтому вам нужно найти функцию String.split
  • После разбиения строки вы сможете использовать индекс массива 0 дляполучите необходимую вам информацию.
  • Тогда это всего лишь случай добавления split_string [0] в JComboBox.

Документы - отличная помощь:1017 * Строка JComboBox

1 голос
/ 28 октября 2011

Вы можете получить первое слово, используя String.split(), или используя indexOf и substring.

. Существует руководство по о JComboBox.Классы Java Swing основаны на модели / представлении, поэтому вы должны заполнить строки в модели JCombobox.

РЕДАКТИРОВАТЬ: Предположим, что в результате вашего редактирования вы получили значения.Тогда вы действительно можете сохранить их в определенной структуре данных.Было бы предпочтительно сделать код, который извлекает эти значения в отдельный метод.Значения, возвращаемые этим методом (например, в List ), затем могут быть помещены в JComboBox.

1 голос
/ 28 октября 2011

Если вы знаете, как читать строки из текстового файла, вы можете разделить каждую строку разделителем, используя функцию String.split .В этом случае вы получаете массив, с помощью которого вы можете получить первую строку с помощью обычного индексатора массива, то есть оператора [].

String hello = "Hello world";
String[] delims = hello.split(" ");
String first = delims[0];

Чтобы ответить на ваши изменения, вы заполняете JComboBoxиспользуя один из его конструкторов, например тот, который принимает массив Object , или используя JComboBox.addItem (Object) .

Последний имеет пример,Что касается конструктора, вы можете либо создать массив объектов самостоятельно, либо использовать массив, в который вы добавляете все свои элементы, а затем получаете массив с помощью функции ArrayList.toArray () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...