所以,我在試圖做的是我從一個文本文件中的信息過濾掉信息,如何使用useDelimiter
For example, 134567H;Gabriel;24/12/1994;67;78;89
然後我顯示只有管理員號碼這是第一位的,但不整行在下拉列表中。因此,這裏是我的代碼:
public static String[] readFile(){
String file = "output.txt";
ArrayList <String> studentList = new ArrayList <String>();
try{
FileReader fr = new FileReader(file);
Scanner sc = new Scanner(fr);
sc.useDelimiter(";");
while(sc.hasNextLine()){
studentList.add(sc.nextLine());
}
fr.close();
}catch(FileNotFoundException exception){
System.out.println("File " + file + " was not found");
}catch(IOException exception){
System.out.println(exception);
}
return studentList.toArray(new String[studentList.size()]);
}
這就是我如何填充下拉列表:
public void populate() {
String [] studentList ;
studentList = Question3ReadFile.readFile();
jComboBox_adminNo.removeAllItems();
for (String str : studentList) {
jComboBox_adminNo.addItem(str);
}
}
不過,現在我的問題是,在下拉列表中選擇是顯示了從整條生產線文本文件。它不顯示管理員號碼。我已經用useDelimiter嘗試過了。我應該用那個嗎?
任何幫助,將不勝感激。提前致謝。
Rince幫助檢查。
public class Question3ReadFile extends Question3 {
private String adminNo;
public Question3ReadFile(String data) {
String[] tokens = data.split(";");
this.adminNo = tokens[0];
}
public static String[] readFile(){
String file = "output.txt";
ArrayList <String> studentList = new ArrayList <String>();
try{
FileReader fr = new FileReader(file);
Scanner sc = new Scanner(fr);
while(sc.hasNextLine()){
studentList.add(new Question3ReadFile(sc.nextLine()));
}
fr.close();
}catch(FileNotFoundException exception){
System.out.println("File " + file + " was not found");
}catch(IOException exception){
System.out.println(exception);
}
return studentList.toArray(new String[studentList.size()]);
}
但這只是打出了從文本文件中的整行到6個選項。我正在嘗試像我選擇管理員號碼那樣,然後所有來自該行所選管理員號碼的信息都將顯示在文本框中。 – Rauryn
@Rauryn我什麼都不懂。你能重新說它嗎? – Eugene
對不起,我的英語。所以,我選擇了一個管理員號碼,然後剩下的信息會顯示在其他地方。根據你的代碼,它只是簡單地將整行分成幾個選項。 – Rauryn