如何从s txt文件中获取名称列表以显示在组合框中?

时间:2018-08-07 13:43:27

标签: java

我陷入了我一直在从事的学校项目中。这是关于从我创建的txt文件中获取所有信息,并希望将产品名称获取到组合框中,而其余产品的详细信息将显示在文本框的编号上。

txt文件内容如下:

id|Category|Name|Price
0|Food|Pizza|$4.50
1|Drink|Pepsi|$2.10

这是我一直在处理的代码:(很抱歉,您之前没有提供此代码)

File product_file = new File("Product.txt");

Scanner scan = new Scanner(product_file);
scan.nextLine();//skip the column name/line
while (scan.hasNextLine()) {
  String line = scan.nextLine();//read each line
  String[] pieces = line.split("\\|");
  String product_name = pieces[2];

不确定如何将其链接到组合框。

2 个答案:

答案 0 :(得分:1)

我不确定您要问的是什么,但是如果您想从文本文件中读取数据,请尝试查看ScannerFile类。

这会将文本文件直接显示在屏幕上,就像它出现在您的文本文件中一样:

File file = new File("myTextFile.txt");
Scanner scan = new Scanner(file);

while (scan.hasNextLine()) {
    System.out.println(scan.nextLine());
}

如果需要将数据解析为不同的变量/对象,则可以将所有文本转储为大字符串并将其拆分:

String str = "";
while (scan.hasNextLine()) {
    str += scan.nextLine();
}
String[] array = str.split("\\|");

例如,在您的文本文件中,array[5]将等于"Food"

答案 1 :(得分:0)

由于您已经提取了product_name,因此只需将其添加到ComboBox项目列表中即可:

while (scan.hasNextLine()) {
    String line = scan.nextLine();//read each line
    String[] pieces = line.split("\\|");
    String product_name = pieces[2];
    comboBox.getItems().add(product_name);
}