目前,我已经编写了一个程序,允许用户将数据添加到JTable,将JTable内容保存到txt文件并从文件加载数据。我的txt数据文件如下所示:
Apple;Food;50
####
Vibrador;Electronics;125
####
我想为进一步的搜索选项添加时间戳,虽然通过迭代整个文件并选择每个第4项(例如)过滤数据不是一种有效的方法(我可以为每1个文件分隔1列) ,但等一下...... OOP?)。所以我的问题是如何以OOP方式实现我的数据?
Save file method and screenshot of jFrame
感谢您的时间!
答案 0 :(得分:0)
您应该为记录创建一个模型类:
class Record
{
private String item;
private String category;
private int quantity;
private String timestamp
// constructor
public Record (String item, String category, int quantity, String timestamp)
{
this.item = item;
// assign rest of members...
}
public String getCategory ()
{
return category;
}
// rest of getters and setters for all members...
}
接下来,让一个解析器类读取txt文件并创建一个Record对象列表。您的解析器可以返回这样的列表:
List<Record> records = new ArrayList<Records>();
当您想要搜索数据时,只需遍历列表并收集匹配项。例如,如果要查找“食物”类别中的所有项目,可以执行以下操作:
String searchCategory = "food";
List<Record> matches = new ArrayList<Records>();
for (Record r : records)
{
String currentCategory = r.getCategory();
// this will do case-insensitive matches
if (currentCategory.equalsIgnoreCase(searchCategory))
{
matches.add(r);
}
}