我有一个类似的文件:
Fruit.Store={
#order:123, order:345, order:456
#order:789
"customer-id:12345,item:store/apple" = 10;
"customer-id:23456,item:store/banana" = 10;
"customer-id:23456,item:store/watermelon" = 10;
#order:987
"customer-id:67890,item:store/pear" = 10;
}
除了评论之外,每一行都具有相同的格式:customer-id和item:store /是固定的,customer-id是一个5位数字。文件中大约有1000个唯一行。
当基于相同的客户ID和不同数量的水果类型放置新订单时,我希望在上面的注释行中添加订单ID并更新数量,就像新订单001放置了信息& #34;顾客-ID:23456,产品编号:存储/西瓜" = 5;我们应该有一个新文件:
Fruit.Store={
#order:123, order:345, order:456
#order:789, order:000
"customer-id:12345,item:store/apple" = 10;
"customer-id:23456,item:store/banana" = 10;
"customer-id:23456,item:store/watermelon" = 5;
#order:987
"customer-id:67890,item:store/pear" = 10;
}
是否有可能以有效的方式这样做?因为必须逐行读取和写入文件,我们如何检测匹配的信息并返回上一行进行修改?谢谢。
答案 0 :(得分:0)
简而言之:不,不可能以有效的方式实现。最好的办法是打开单独的文件进行阅读和写作,但即便如此,你也要有效地一遍又一遍地重写整个文件。
最终,你应该使用某种参考数据库,比如SQL。这些数据库实际上是针对这个确切的用例而发明的。
我真的不想告诉别人,唯一的解决方案就是做一些与他们正在做的事情完全不同的事情,但在这种情况下,我不能强调文本文件的缩放程度用于管理数据。