String  sep=System.getProperty("file.separator");得到系统分隔符你要把你的属性文件用load载入

解决方案 »

  1.   

    1.outStream = new FileOutputStream(S_propertyFile);
    句要移到saveClose() 方法里
    2.property.load(inStream);
      后加inStream.close();
    3.property.store(outStream, null);
    改为
    property.store(outStream, "Real root path");
    4。ok
      

  2.   

    To webwing(中国鹰派):
    你的建议很好,第一个问题已经解决掉了,但注释的问题仍然未解决,因为store()方法只能在文件的头部加注释。我如果要在Version=2.0前加上一行注释#Source Version,运行了saveClose()后,这行注释就没有了,这该怎么办?
      

  3.   

    store完之后outStream也应该close。
      

  4.   

    因为outStream = new FileOutputStream(S_propertyFile);这样定义的文件输出流本身就是重写原来的文件,而通过property.load(inStream)完全都忽略了注释信息,所以你原来的注释信息怎么能够保存?除非你自己另外先把它读入。实际上你的注释信息就直接写就是不要加#号嘛,这样就当作是一个键,只是值为空而以,又不会有什么影响。
    你这种要保存的,最好还是用xml的好。解析虽然麻烦点,但是可以只修改部分节点并保存,而且结构更清晰,描述的内容更丰富。功能强大的多了。