学习目标:
文件小练习(简易商品系统)
学习内容:
商品实体类
public class Product {
private String pId;
private String pName;
private float price;
public Product() {
}
public Product(String pId, String pName, float price) {
this.pId = pId;
this.pName = pName;
this.price = price;
}
public String getpId() {
return pId;
}
public void setpId(String pId) {
this.pId = pId;
}
public String getpName() {
return pName;
}
public void setpName(String pName) {
this.pName = pName;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
@Override
public String toString() {
return "[pId=" + pId + ", pName=" + pName + ", price=" + price + "]";
}
}
主菜单:
public class Menu {
public static void main(String[] args) throws Exception {
boolean flag = true;
Scanner sc = new Scanner(System.in);
ProductDao dao = new ProductDaoImpl();
while(flag) {
System.out.println("1.添加商品 2.查看商品 3.退出");
String line = sc.nextLine();
switch(line) {
case "1":
System.out.println("请输入商品信息,例如 p1,核桃,4.5");
String nextLine = sc.nextLine();
dao.addProduct(nextLine);
break;
case "2":
ArrayList<Product> pdts = dao.getAllProducts();
for(Product p:pdts) {
System.out.println(p);
}
break;
case "3":
flag = false;
break;
default:
System.out.println("您的输入有误,请重新输入!");
break;
}
}
}
}
ProductDao接口:
public interface ProductDao {
public void addProduct(String line) throws Exception;
public ArrayList<Product> getAllProducts() throws Exception;
}
ProductDao实现类:
public class ProductDaoImpl implements ProductDao{
@Override
public void addProduct(String line) throws Exception{
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/a.txt",true),"utf-8"));
bw.write(line+"\r\n");
bw.close();
}
@Override
public ArrayList<Product> getAllProducts() throws Exception{
ArrayList<Product> pList=new ArrayList<>();
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("d:/a.txt"),"utf-8"));
String line="";
while((line=br.readLine())!=null){
String[] split=line.split(",");
Product p=new Product(split[0],split[1],Float.parseFloat(split[2]));
pList.add(p);
}
br.close();
return pList;
}
}