
- 慎用继承,强关系,父亲变了,儿子也会跟着变
- 配置文件,在src新建File,不要写空格。#是注释
- 【Properties API】 key-value 键值对 有方法访问
可以保存成流 或者从流加载
key value都是string
属性表可以包含另一个属性表(默认),第一个找不到就找第二个
构造方法可以指定这个默认Properties,不指定就是没有
有一个默认的value=”null”,对于那些找不到的key
- 可以由key读value
- 读取、保存、打印整个property list,以及XML文件
- 返回一个枚举,内容是property list表的key,包含两个表,default property,前提一个key是distinct
- 返回一个set,key和对应的value
继承Hashtable put putAll方法 不建议使用,因为他允许插入 非string的key value 应该用setProperty方法
store save方法如果 包含key value 非string的 会fail 同样的propertyName list 方法也是
load store方法可以基于stream 加载成 面向行格式
原理一样
The load(InputStream) / store(OutputStream, String)methods work the same way as the load(Reader)/store(Writer, String) pair
然后就是ISO 8859-1字符编码不行 需要native2ascii工具转换
loadFromXML(InputStream) and storeToXML(OutputStream, String, String) 方法 加载或存储XML格式
默认utf-8或者其他
XML properties 文件要有这个声明
网址被当成一个文件类型即
<!-- DTD for properties -->
<!ELEMENT properties ( comment?, entry* ) >
<!ATTLIST properties version CDATA #FIXED "1.0">
<!ELEMENT comment (#PCDATA) >
<!ELEMENT entry (#PCDATA) >
<!ATTLIST entry key CDATA #REQUIRED>
线程安全,多线程无需用synchronization
what is XML?
前者是SGML和HTML
可扩展标记语言,标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言
便于万维网传输,跨平台【传输信息】,也是当今处理分布式结构信息的有效工具
SGML复杂,HTML简单
HTML无法描述数据,XML可以
大小写敏感、只有一个根元素、属性值使用引号、所有的标记必须有相应的结束标记、所有的空标记也必须被关闭
XML与HTML区别编辑
(1)可扩展性方面:HTML不允许用户自行定义他们自己的标识或属性,而在XML中,用户能够根据需要自行定义新的标识及属性名,以便更好地从语义上修饰数据。 [6]
(2)结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度,能表示面向对象的等级层次。 [6]
(3)可校验性方面:HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验,而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构校验。 [6]
- shift+f2 看API
- java转exe:jar + jre(JVM) + 转换工具 说白了让文件在一个虚拟机环境运行
- 将类设计得更完美。如果什么都static,那跟面向过程没区别,而且要限制用户创建的方式 propertyMgr的【单例模式】有且只有一个这个对象
- 【策略模式】
- 自己转换好 如getint 而不让用户强转Object
只需要一个实例,如各种Mgr、Factory类(管理某个东西的类,如加载图片类,配置文件类)
不让人家new 很多个对象出来,因为没必要
不加载类,forName
java反射机制




近期评论