java读取文件——以自动贩卖机为例

Posted mdddd-yep

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java读取文件——以自动贩卖机为例相关的知识,希望对你有一定的参考价值。

上一篇做自动售卖机时用的是初始化定义商品列表,但实际上每一次启动售货机时售货机显示的是上一次购买结束后的库存。

我们用一个.txt记录一下库存,然后利用File类将数据读取出来展示。

我这里设置了一个商品就为一行,名称占12个字节,价格是4个字节,数量是11个字节,再加上转行符

读取文件后利用substring(a, b)函数提取出每个商品,然后根据自己定义的字节去截取每个属性。

public void initProduct() throws IOException
FileInputStream fileInputStream = null;
try
fileInputStream = new FileInputStream("D:\\\\myjsp\\\\myServer\\\\src\\\\mddd\\\\product.txt");
InputStreamReader reader = new InputStreamReader(fileInputStream, "UTF-8");
StringBuffer sb = new StringBuffer();
while (reader.ready())
sb.append((char) reader.read());


String[] str=new String[7];
int a=0;
int b=27;
for(int i=0;i<6;i++)
str[i]=sb.toString().substring(a, b);
a=b+2;
b=a+27;
System.out.println(str[i]);

q.data=null;
q.next=null;
head=q;

for(int i=0;i<6;i++)

String name=str[i].toString().substring(0,12);
String price=str[i].toString().substring(12,26);
String num=str[i].toString().substring(26,27);
int ID=i+1;
product x=new product();
x.setID(ID);
x.setName(name);
x.setPrice(Integer.parseInt(price));
x.setNumber(Integer.parseInt(num));
Node p=new Node();
p.data=x;
p.next=null;
q.next=p;
q=p;


catch (IOException e)
e.printStackTrace();
finally
if (fileInputStream != null)
fileInputStream.close();

python_selenium 之yaml文件读取(以读取元素信息为例)

一、yaml源文件编写

 

 

 

二、对yaml文件内容的读取

#coding=gbk
import os
import yaml

current_path=os.path.dirname(__file__)
yaml_path=os.path.join(current_path,\'../element_info_datas/element_login_infos.yaml\')

class ElementdataYamlUtils():

def get_yaml_element_info(self,yaml_path):
file = open(yaml_path, \'r\', encoding="gbk")
file_data = file.read()
file.close()
# 指定Loader
data = yaml.load(file_data, Loader=yaml.FullLoader)
return data

if __name__ == \'__main__\':
current_path = os.path.dirname(__file__)
yaml_path = os.path.join(current_path, \'../element_info_datas/element_login_infos.yaml\')
elements=ElementdataYamlUtils().get_yaml_element_info(yaml_path)
for e in elements.values():
print(e)

输出结果:

 

 

三、实际读取元素使用:

 

以上是关于java读取文件——以自动贩卖机为例的主要内容,如果未能解决你的问题,请参考以下文章

python实例自动贩卖机

自动贩卖机VS无人门店:谁是真正的零售新风口?

python_selenium 之yaml文件读取(以读取元素信息为例)

python_selenium 之yaml文件读取(以读取元素信息为例)

Simulink HDL Coder FPGA初级开发实践 自动贩卖机建模

Simulink HDL Coder FPGA初级开发实践 自动贩卖机建模