導入Java . util . *;
公共類FileManager {
公共列表& lt菜肴& gt解析文件(文件文件){
String str = null
列表& lt菜肴& gtlist = new ArrayList & lt菜肴& gt();
嘗試{
buffered reader br = new buffered reader(new file reader(file));
while((str = br.readLine())!=null) {
if(str.startsWith("Name:")) {
int index = str . index of(":");
string dish name = str . substring(index+1,str . length());
str = br . readline();
index = str . index of(":");
string categories string = str . substring(index+1,str . length());
string[]cateArr = categories string . split(",");
設置& lt字符串& gtcategories = new HashSet<。字符串& gt();
for(int j = 0;j & ltcate arr . length;j++) {
categories . add(cateArr[j]);
}
設置& lt字符串& gt配料=新哈希集& lt字符串& gt();
string ss = br . readline();
while((str = br.readLine())!= null & amp& amp!(str.length() == 0)) {
string[]strArr = str . split(" ");
for(int I = 0;我& ltstrArr.lengthi++) {
ingredients . add(strArr[I]);
}
}
菜d =新菜();
d . set name(dish name);
d.setCategories(類別);
d.setIngredients(配料);
list . add(d);
}
}
} catch (IOException e) {
// TODO自動生成的catch塊
e . printstacktrace();
}
退貨單;
}
公共靜態void main(String[] args) {
// TODO自動生成的方法存根
file manager FM = new file manager();
列表& lt菜肴& gtlist = new ArrayList & lt菜肴& gt();
File File = new File(" D:/disks . txt ");
list = fm.parseFile(文件);
for(int I = 0;我& ltlist . size();i++) {
System.out.println(list.get(i))。getName());
System.out.println(list.get(i))。get categories());
System.out.println(list.get(i))。geting redients());
}
}
}
//菜系,壹種菜系對應壹個菜系的例子。
類別菜肴{
私有字符串名稱;
私有設置& lt字符串& gt類別;//美食類別
私有設置& lt字符串& gt配料;//菜肴配料
公共字符串getName() {
返回名稱;
}
public void setName(字符串名){
this.name = name
}
公共設置& lt字符串& gtgetCategories() {
退貨類別;
}
公共void Set categories(Set & lt;字符串& gt類別){
類別=類別;
}
公共設置& lt字符串& gtgetIngredients() {
返回配料;
}
public void Set ingredients(Set & lt;字符串& gt配料){
this.ingredients =配料;
}
}