看着毕老师的视频我学习一下Properties的知识,自己写代码时发现下面的问题:
public static void loadDemo(){
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream("f:\\自己看\\info.txt");
fos=new FileOutputStream("f:\\自己看\\info.txt");
Properties prop=new Properties();
prop.load(fis);
System.out.println("修改前:"+prop);
prop.setProperty("hh", "100");
System.out.println("修改后:"+prop);
prop.store(fos, "zhushi");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if (fos!=null) {
fos.close();
}
if (fis!=null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
我把FileOutputStream 的实例化对象放到prop.load()之前,则打印出{},把FileOutputStream 的实例化对象放到prop.load()之前,则打印出文本里的内容
我认为是FileOutputStream 实例化后把原来的文件覆盖了,即info.txt内容为空了。我尝试了一下的却是这样。
但是 fis=new FileInputStream("f:\\自己看\\info.txt");这段语句执行完毕后fis就不是null了,为什么load()出现的还是空?求各位大神指点小弟!!!谢谢! |