1.先回答你第一个问题,bw = new BufferedWriter(new FileWriter(file));这句话只要你放到
pro.load(br);语句之后是都能成功记数的。这是因为如果你在load()之前创建这个输出流对象的话,文件是会重新创建覆盖原有文件的,这个配置文件就变成空文件了,所以不可能记数了。
2.第二个问题,三种情况:
第一种:如果最开始的时候你的配置文件不存在,那么你用file.createNewFile();语句创建出来的配置文件里面什么都没有是空的,String value = pro.getProperty("time");当然为空。你在后面的语句中pro.setProperty("time", count + "");pro.store(bw, "");在这个配置文件中写入了time=1,所以之后再次启动程序,value就不为空了。
第二种:如果最开始你的配置文件存在,但是文件中什么都没有,就和第一种情况一样了。
第三种:如果最开始你的配置文件存在,并且里面有time=0,这时候String value = pro.getProperty("time");就肯定不会是空值。 |