使用Properties类带来的好处(第一部分)

ZDNet软件频道 时间:2003-02-24 作者:BUILDER.COM 翻译:Java研究组织 |  我要评论()
本文关键词:cpptips
许多开发者抱怨C++不能像Java那样绑定Properties类。Java的Properties类内在包含一个文件,该文件用来读写Properties类中的属性,可以写成这样形式:<名字>=<数值>(例如:ConnectToInternet=Use IE)。

许多开发者抱怨C++不能像Java那样绑定Properties类。Java的Properties类内在包含一个文件,该文件用来读写Properties类中的属性,可以写成这样形式:<名字>=<数值>(例如:ConnectToInternet=Use IE)。

使用Properties类的好处就是你可以很轻松的理解和修改它们。在本文的第一部分中,你将看到我们也可以在C++中使用Properties类。本文的第二部分将向你演示通过使用操作符>>和<<把数据保存到Properties类中是多么的容易。

现在介绍C++ Properties文件的结构。该文件的每一行可以是下面三种情况中的某一种:

  1. 空行(认为它是注释中的一部分)
  2. 以‘#’ 开始的注释行
  3. ‘<名字>=<数值>’行,这是给一个属性赋值的语句

现在让我们再看看Properties类的的特点:

  • 注释是持久性的(当保存Properties类时,它们不会丢失掉)。注意每一个注释都属于某个属性。在‘<名字>=<数值>’行上的注释行属于该‘<名字>’属性。
  • 当保存Properties类后,属性仍然保留自己的位置。
  • 它对各种字符类型都有效:char、wchar_t等等

Properties类的使用相当简单:

  • save():保存属性
  • has_property(strPropertyName):如果类中有该属性则返回‘真’
  • string get_property(strPropertyName):返回指定的属性(如果指定属性不存在,则抛出例外)
  • set_property(strPropertyName, strPropertyValue):设置给定属性
  • stringget_property_comment( strPropertyName):返回属于指定属性的注释(如果指定属性的注释不存在,则抛出例外)
  • set_property_comment(strPropertyName, strPropertyComment):设置指定属性的注释(如果指定属性的注释不存在,则抛出例外)

下面是file_reader_writer类以及相应例子的代码。运行它之后,请查看properties.txt文件。看看访问和修改它是多么容易的一件事。

下面是用到这个类的一个例子:



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134