黑马程序员技术交流社区
标题:
properties对象遇到的问题
[打印本页]
作者:
葛奎
时间:
2012-11-1 14:29
标题:
properties对象遇到的问题
package io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class PropertyTimes {
public static void main(String[] args) {
File file = new File("d:\\heimaio\\time.properties");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileInputStream fis =null;
FileOutputStream fos=null;
try {
fis = new FileInputStream(file);
fos = new FileOutputStream(file);
Properties p = new Properties();
p.load(fis);
// 获取times值并判断。判断配置文件中times键对应的值是否大于5,怎么在输出到 time.properties文件中times对应的值总是0。
//帮忙解决下
String value = p.getProperty("times");
System.out.println(value);
int times=0;
if(value==null){
p.setProperty("times", times+"");
}else{
times =Integer.parseInt(value);
if(times>=5){
System.out.println("超了");
return;
}
times++;
p.setProperty("times", times+"");
}
p.store(fos, "次数");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
作者:
古银平
时间:
2012-11-1 15:21
程序从这开始
String value = p.getProperty("times");
System.out.println(value);
int times=0;
if(value==null){
// 判断value == null;首先开始条件肯定成立,这改写成 if(value!=null)
{
count = Integer.parseInt(value);
}
p.setProperty("times", times+"");
//这句将times和0写入
}else{
times =Integer.parseInt(value);
//这句话就不会执行的,也就是你将times没有转换成int型的数,将else去掉
if(times>=5){
System.out.println("超了");
return;
}
times++;
//这是字符串++也不会改变成数字的,对字符串++不起作用,所以一直是0.
p.setProperty("times", times+"");
}
p.store(fos, "次数");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2