首页 > 编程语言 >java读取文件——以自动贩卖机为例

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

时间:2023-05-10 15:55:45浏览次数:38  
标签:java String 为例 int substring str new null 贩卖机

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

我们用一个.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();
}
}

标签:java,String,为例,int,substring,str,new,null,贩卖机
From: https://www.cnblogs.com/mdddd-yep/p/17388228.html

相关文章

  • Java 反射的综合详细复习提纲
    Java反射的综合详细复习提纲1.反射基础知识1.1什么是反射1.2反射的作用1.3反射的核心类1.4反射的优缺点2.Class类的相关方法2.1获取Class对象2.2Class对象的常用方法2.3ClassLoader类3.Field类的相关方法3.1获取类属性信息3.2Field类常用方法3.3......
  • JAVA代码编写的30条建议推荐
    JAVA代码编写的30条建议推荐http://topmanopensource.iteye.com/blog/667247 (1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName   ......
  • java乱码
    这是因为你的控制台代码页(CodePage)设置有问题。建议用chcp命令检查一下当前的代码页,如果不是936(简体中文,GB2312),可以用chcp936设置代码页。建议同时检查一下系统语言和地区设置,否则可能再次出现相同的问题。......
  • java8一个List转化为另外一个List
    List<String>filterTags=Lists.newArrayList();List<Promotion>promotionList=filterTags.stream().map(f->{Promotiontag=newPromotion(context);tag.setLabel(f);tag.setCode(f);......
  • Java判断一个字符串是否是url
    Java判断一个字符串是否是url方法一正则表达式importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassURLValidator{privatestaticfinalPatternURL_PATTERN=Pattern.compile("^((https?|ftp|file)://)?"+"([\\w......
  • IE 6下 a javascript:void(0)问题
     在购物页面的“立即购买”按钮是用a标签来做的,设置了href="javascript:void(0);",同时在a上面添加了onclick事件,目的是在点击之后处理Cookies并跳转到订单页面。反复测试发现ie6下没有跳转,ff下是正常的。在网上搜到的结果是ie6的bug导致这样的结果。 摘自网络产生这样的结果是......
  • javascript基础练习
     本练习根据w3cschool:https://www.w3cschool.cn/javascript/javascript-conventions.html 1.javascript简介1.1JavaScript是脚本语言JavaScript是一种轻量级的编程语言。JavaScript是可插入HTML页面的编程代码。JavaScript插入HTML页面后,可由所有的现......
  • Java入门
    Java是面向对象的语言。具有面试对象技术、健壮性、多线程、安全性、分布式计算、跨平台、可移植性、动态性、高性能、解释执行、applet等一系列特点。Java实现机制:Java虚拟机垃圾回收代码安全检测Java的体系结构:最下层是移植接口,由配置器和JavaOS组成,然后是虚拟机,其中上......
  • java.lang.OutOfMemoryError: PermGen space
    项目环境:tomcat:7.0jdk:1.7  我项目中出现这个问题,是一个tomcat中放了好几个不同的项目,同时使用这一个tomcat,导致的永久代内存溢出。减少项目的数量或者调解jvm参数。  主要想说的一点是,查问题看日志,tomcat看catalina.out日志文件比较全面。  ~~~~~~~~~~可以忽略~......
  • 如何使用Java操作TensorFlow
    https://blog.csdn.net/weixin_28906733/article/details/100528526简介机器学习在全球范围内越来越受欢迎和使用。它已经彻底改变了某些应用程序的构建方式,并且可能会继续成为我们日常生活中一个巨大的(并且正在增加的)部分。没有什么包装且机器学习并不简单。它对许多人来......